使用wxIcon加载Windows预定义图标
我试图将使用wxIcon加载Windows预定义图标,windows,icons,wxwidgets,multiplatform,Windows,Icons,Wxwidgets,Multiplatform,我试图将IDI_信息与wxWidgets 2.8.11(来自wx/version.h)(用于wxMemoryDC::DrawIcon)一起使用。但是首先我必须加载图标:wxICON(IDI_信息)失败,LoadFile(wxT(“IDI_信息”)也失败(但是LoadFile(IDI_信息)编译并崩溃,IDI_信息是一个假字符串指针,对于wxWidgets来说太棘手了)。嗯,然后我添加了一些ifdefs来使用Windows API:::LoadIcon(NULL,IDI_信息)工作,然后wxIco
IDI_信息与wxWidgets 2.8.11(来自wx/version.h)(用于wxMemoryDC::DrawIcon
)一起使用。但是首先我必须加载图标:wxICON(IDI_信息)
失败,LoadFile(wxT(“IDI_信息”)
也失败(但是LoadFile(IDI_信息)
编译并崩溃,IDI_信息
是一个假字符串指针,对于wxWidgets
来说太棘手了)。嗯,然后我添加了一些ifdef
s来使用Windows API:::LoadIcon(NULL,IDI_信息)
工作,然后wxIcon::SetHICON
。虽然DrawIcon
显然有效,但令人不快的是wxIcon::GetWidth
,wxIcon::GetHeight
返回0。嗯,让我们获取大小并使用wxIcon::SetSize
。现在终于完成了。。。等待但谁会毁掉我的偶像?不确定,因此添加ifdef
,SetHICON(NULL)
和destroy图标
小问题是:我必须自己销毁图标吗
最大的问题是:wxIcon
在这种情况下完全没有用处吗
PS经过一些调试后,我发现LoadFile(wxT(“wxICON\u信息”))
工作正常,哇!,但它真的是多平台的吗?我是否已经阅读了用于绘制标准图标的所有wx源代码?跨平台解决方案由提供,只需将其GetIcon()
方法与wxART\u信息
参数一起使用即可。非常好的解决方案,我仅用一行代码替换了所有代码。