Я довольно новичок в программировании Windows и следую Руководству по программированию Win32 API от Forger. Я пытался нарисовать изображение в окне.
Посмотрев на похожие проблемы, этот код кажется правильным для загрузки растрового изображения:
HBITMAP testImage == NULL;
case WM_CREATE:
testImage = (HBITMAP)LoadImage(NULL, L"C:\\ScreenSnip.bmp", IMAGE_BITMAP, 498, 304, LR_LOADFROMFILE);
if(testImage == NULL) {
MessageBox(NULL, L"NO IMAGE LOADED!", L"Error!", MB_ICONEXCLAMATION | MB_OK);
}
break;
У меня есть изображение ScreenSnip.bmp в расположении выше, и его размеры 498 * 304. Однако LoadImage не работает, и значение testImage всегда равно нулю.
Я попытался загрузить изображение в качестве ресурса с помощью LoadBitmap (), и это работает, поэтому я не включил остальную часть своего кода. Похоже, что LoadImage () выше, что вызывает проблему, но я не могу понять, почему.
У кого-нибудь есть идеи? Я использую VC ++ в Windows 7 64bit.
использование testImage = (HBITMAP)LoadImage(NULL, L"C:\\ScreenSnip.bmp", IMAGE_BITMAP, 498, 304, LR_LOADFROMFILE);
Вы используете широко с L «C: ..», поэтому вы должны использовать LoadImageW
Других решений пока нет …