0

在我的 .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:它就会出现。不知道为什么。

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

4

1 回答 1

1

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

于 2013-08-23T09:25:56.460 回答