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 に答える