繁体   English   中英

wxStaticBitmap构造函数使用wxGDIImage而不是wxBitmap

[英]wxStaticBitmap constructor takes wxGDIImage instead of wxBitmap

我正在尝试创建静态位图,但构造函数仅接受wxGDIImages。 这是FormBuilder中的代码:

wxStaticBitmap* tmtBitmap = new wxStaticBitmap( this, wxID_ANY, wxBitmap( wxT("directory"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 );

有什么方法可以将wxBitmap转换为wxGDIImage吗? 还是创建给定目录的wxGDIImage?

也许还有另一种方法可以做到这一点。

谢谢。

wxStaticBitmap确实在其构造函数中接受wxBitmapwx API-Doc
编译器产生的错误消息可能会误导您,以为您看到以下内容:

include/wx/msw/statbmp.h:80: note: candidates are: wxStaticBitmap::wxStaticBitmap(const wxStaticBitmap&)
include/wx/msw/statbmp.h:34: note:                 wxStaticBitmap::wxStaticBitmap(wxWindow*, wxWindowID, const wxGDIImage&, const wxPoint&, const wxSize&, long int, const wxString&)
include/wx/msw/statbmp.h:25: note:                 wxStaticBitmap::wxStaticBitmap()   


由于这是唯一取决于上下文的东西,因此您的this指针似乎存在问题,要么您不在wxWindow “内部”,要么您的编译器无法确定静态类型。 您可以使用类似这样的方法来验证:(不要在生产性代码中这样做)

wxStaticBitmap* tmtBitmap = new wxStaticBitmap( (wxWindow*)NULL, wxID_ANY, wxBitmap( wxT("directory"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 );

要么

wxStaticBitmap* tmtBitmap = new wxStaticBitmap( (wxWindow*)this, wxID_ANY, wxBitmap( wxT("directory"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM