Winapi LoadBitmap()没有从我的资源中加载图像



在我的.rc文件中,我添加了一行:

IMG BITMAP "myIMG.bmp" //add to resources

.cpp文件中的原型:

HBITMAP     Image;

ShowWindow()之后,我用将其加载到内存中

Image=LoadBitmap(hInstance,"IMG");

WM_CREATE:上,我将其加载到屏幕上并清除:

HDC GetDC (hdc);    
HDC newhdc = CreateCompatibleDC(hdc);   
SelectObject(newhdc,Image);
BitBlt(hdc,30,70,491,302,newhdc,0,0,SRCCOPY);
DeleteDC(newhdc);
DeleteObject(Image);
ReleaseDC(hwnd,hdc);

感谢@BeneGal问题(建立在这里),我创建了一个MB,它告诉img是否未加载:

if(Image == NULL) {
MessageBox(NULL, "NO IMAGE LOADED!", "Error!",  MB_ICONEXCLAMATION | MB_OK);
}

当我把上面的代码粘贴在ShowWindow()之后时,MB不会出现,当我把它粘贴在WM_CREATE:上时,它会出现。不知道为什么。

编辑:实际上我忘了告诉我,图像没有出现在我的窗口上,这是主要的问题。

在WM_CREATE中加载位图,在WM_PAINT中使用它。通过SelectObject跟踪返回对象,不要删除HDC中仍然选择的对象。做这样的事http://www.winprog.org/tutorial/bitmaps.html

相关内容

  • 没有找到相关文章

最新更新