1

抱歉,如果这是重复的,但我在其他地方找不到答案。我只是想在运行时使用 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);
    }
...
}
4

1 回答 1

2

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

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

于 2012-05-19T00:04:21.670 回答