我在我的 resource.h 和 .rc 文件中定义了一个位图:
#define IDB_BITMAP1 130
IDB_BITMAP1 BITMAP DISCARDABLE "bitmap1.bmp"
当我尝试加载它时
hBMP = LoadBitmap(0, MAKEINTRESOURCE(IDB_BITMAP1));
失败,GetLastError() 返回 1814(或十六进制的 0x716),代表 ERROR_RESOURCE_NAME_NOT_FOUND。但是位图在那里。是因为 hInstance 吗?我认为如果资源在 .exe 中,则 0 有效,事实确实如此。
最佳答案
将 0
作为实例传递是错误的。 documentation说:
An application can use the LoadBitmap function to access predefined bitmaps. To do so, the application must set the hInstance parameter to NULL and the lpBitmapName parameter to one of the following values.
...... table removed......
您没有加载预定义的位图,因此需要传递包含资源的实例句柄。
关于c++ - LoadBitmap 失败 ERROR_RESOURCE_NAME_NOT_FOUND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24445986/