Рисование изображения с использованием WinAPI: LoadBitmap работает, а LoadImage () — нет?

Я довольно новичок в программировании 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.

2

Решение

использование testImage = (HBITMAP)LoadImage(NULL, L"C:\\ScreenSnip.bmp", IMAGE_BITMAP, 498, 304, LR_LOADFROMFILE);
Вы используете широко с L «C: ..», поэтому вы должны использовать LoadImageW

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]