我正在尝试使用SetImage
中的函数CMFCButton
为按钮加载位图。我没有任何错误或什么,只是一个简单的按钮。我正在使用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);
答案 0 :(得分:1)
为LR_CREATEDIBSECTION|LR_LOADFROMFILE
加载位图文件时使用CMFCButton
标志
::LoadImage(nullptr, bitmapfile, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
部分说明:
CMFCButton
("afxbutton.cpp"
)的MFC源代码显示它为LR_CREATEDIBSECTION
添加了LoadImage
。这没有记录,也不清楚为什么需要它。当源位图不是32位时,似乎需要LR_CREATEDIBSECTION
。