我试图用CMFCButton
中的函数SetImage
为我的按钮加载位图。我没有得到任何错误或什么,只是一个普通的按钮。我正在用icons
做同样的事情,它也能工作,但我也需要它来加载bitmap
。我需要从路径LoadImage
,而不是从资源。
下面是我的代码:
iconResource = path + m_type + _T("U") + extension; //i.e : C:\test\earthU.bmp
HANDLE hIcon = ::LoadImage(nullptr, iconResource, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
//same thing for Hot and Disable bitmap
以及对SetImage
函数的调用:
SetImage((HBITMAP)hIcon, 0, (HBITMAP)hIconHot, 0 , (HBITMAP)hIconDis);
发布于 2019-07-31 22:09:55
为CMFCButton
加载位图文件时使用LR_CREATEDIBSECTION|LR_LOADFROMFILE
标志
::LoadImage(nullptr, bitmapfile, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
部分解释:
CMFCButton
("afxbutton.cpp"
)的MFC源代码显示它为LoadImage
添加了LR_CREATEDIBSECTION
。这没有文档记录,也不清楚它为什么需要这样做。当源位图不是32位时,LR_CREATEDIBSECTION
似乎是必需的。
https://stackoverflow.com/questions/57278025
复制相似问题