【发布时间】:2019-01-15 21:39:46
【问题描述】:
我正在尝试从资源而不是文件位置加载位图。我正在使用visual stuidos,并且已将相同的位图导入rc。当我尝试使用资源版本时,LoadImage 返回 NULL。我的语法错了吗?还是我错过了其他步骤?请指出我正在努力学习的正确方向。提前致谢。
HBITMAP mhbitmap;
// Loading from a file works
mhbitmap = (HBITMAP)LoadImage(NULL, L"sblue.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
mpiccontrol.SetBitmap(mhbitmap);
if (mhbitmap == NULL) {
MessageBox(L"null", L"from file", NULL);
}
从文件版本加载显示图像,但资源版本不显示图像。
mpiccontrol.SetBitmap(mhbitmap);
// My attempt at loading from resource
mhbitmap = (HBITMAP)LoadImage(NULL, MAKEINTRESOURCE("IDB_BITMAP1"), IMAGE_BITMAP, 0, 0, 0);
if (mhbitmap == NULL) {
MessageBox(L"null", L"from rc", NULL);
}
mpiccontrol.SetBitmap(mhbitmap);
【问题讨论】:
-
您必须将LoadImage的第一个参数设置为包含资源的可执行文件的实例。
-
@john 谢谢你使用 AfxGeIinstancehandle() 解决了这个问题
标签: c++ visual-studio-2015 mfc loadimage