【发布时间】:2017-05-17 12:33:24
【问题描述】:
尝试使用 ImageList_LoadImage 加载位图,但失败并显示 ErrorCode 1814 - Could not find resource
然而,它前面的这些行是有效的
HRSRC myResource = FindResource(NULL, MAKEINTRESOURCE(IDB_BITMAP1), RT_BITMAP);
auto imageResDataHandle = LoadResource(NULL, myResource);
TRACE("Error %d", GetLastError()); // All OK
auto hImageList = ::ImageList_LoadImage(NULL, MAKEINTRESOURCE(IDB_BITMAP1), 16, 2, CLR_DEFAULT, IMAGE_BITMAP, 0);
TRACE("Error %d", GetLastError()); // Fail, error code 1814
该文件是一个 32x16 bmp 文件,另存为“bitmap1.bmp”作为在 VS 中创建的资源。
当它在第一行找到资源时,我认为它已编译成二进制文件。
【问题讨论】:
-
这是因为您使用
NULL作为ImageList_LoadImage 的第一个参数hi - 只需重新阅读文档。你需要ImageList_LoadImage(GetModuleHandle(NULL), .. -
谢谢你的工作。抱歉,我错过了文档中的内容