Win32 加载图像() 从文件错误

Win32 LoadImage() from File Error

本文关键字:文件 错误 加载 图像 Win32      更新时间:2023-10-16

抱歉,如果这是重复的,但我在其他地方找不到答案。我只是尝试在运行时使用 WINAPI 的 LoadImage(( 函数加载图像。我收到错误代码(8(,表明存储空间不足(错误代码在这里找到(。

该文件相对较小(2.5KB(,所以我想知道我的代码是否有问题:

void OnCreate()
{
...
HBITMAP hbmDeck = (HBITMAP)LoadImage(hInstance, L"standard.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE);
    DWORD err = GetLastError();
    HBITMAP hbmT = SelectBitmap(hdc, hbmDeck);
    if(!hbmT)
    {
        MessageBox(NULL, L"Failed to LoadImage - 'hbmDeck'", L"OnCreate()", MB_OK);
        PostMessage(hwnd, WM_DESTROY, NULL, NULL);
    }
...
}

是的,一些 API 返回错误代码有点神秘,不适合错误。

您尝试加载"标准.bmp"的文件是磁盘上的文件,不在资源部分中,对吗? 要从磁盘加载文件,LoadImage (hInst( 的第一个参数必须是 NULL,并且 fuLoad 标志需要包含您正确拥有LR_LOADFROMFILE。