我是Windows编程的新手,并且一直关注Forger的Win32 API编程教程。我一直在尝试在窗口内绘制图像。
看了类似的问题后,这段代码似乎对于加载位图是正确的:
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的值始终为null。
我已经尝试使用LoadBitmap()将图像作为资源加载,并且这有效,这就是我没有包含其余代码的原因。它似乎是导致问题的上面的LoadImage(),但我无法弄清楚原因。
有人有什么想法吗?我在Windows 7 64bit上使用VC ++运行它。
答案 0 :(得分:-1)
使用testImage = (HBITMAP)LoadImage(NULL, L"C:\\ScreenSnip.bmp", IMAGE_BITMAP, 498, 304, LR_LOADFROMFILE);
你使用L“C:..”宽,所以你必须使用LoadImageW