2

経由で読み込んだ URL の画像を表示しようとしていますGetOpenFilename。これ自体は問題ではありません。既存の画像の URL をリソース ファイルからコピーして関数に貼り付けることも試みましたが、LoadBitmap割り当てている HBITMAP は NULL です。どうすればこれを機能させることができますか?

void GetUserSprite(HWND hwnd, HBITMAP &Image, HBITMAP &Mask)
{
using namespace std;
OPENFILENAME ofn;
char szFileName[MAX_PATH + 1];
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = "Bitmaps (*.JPG, *.BMP, *.DIB, *.gif, *.JPEG, *.jpe, *.png)\0*.jpg;*.bmp;*.jpeg;*.png";
ofn.lpstrFile = szFileName;
ofn.lpstrFile[0] = '\0';
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST;
ofn.lpstrDefExt = "bmp";
if(GetOpenFileName(&ofn))
{
    bDefaultSprite = false;
    strImageURL = szFileName;
    Image = LoadBitmap(GetModuleHandle(NULL), strImageURL.c_str());
    if (Image == NULL)
    {
        MessageBox(hwnd, "Well, that sucks...", "", NULL);
    }
    Mask = CreateBitmapMask(Image, RGB(0,0,0));
    InvalidateRect(hwnd, NULL, TRUE);
    UpdateWindow(hwnd);
}
}
4

0 に答える 0