我有以下代碼...爲什麼圖像消失?
case WM_PAINT:
{
hdc = BeginPaint(hwnd,&paintSt);
temphdc = hdc;
GetClientRect(hwnd,&aRect);
if(hBitmap!=NULL)
{
HDC memDC = CreateCompatibleDC(hdc);
if(memDC!=NULL)
{
BITMAP bmp;
GetObject(hBitmap,sizeof(bmp),&bmp);
SelectObject(memDC,hBitmap);
SetStretchBltMode(hdc,HALFTONE);
StretchBlt(hdc,0,0,aRect.right,aRect.bottom,
memDC,0,0,bmp.bmWidth,bmp.bmHeight,
SRCCOPY);
DeleteObject(&bmp);
ReleaseDC(hwnd,memDC);
}
}
// the code for painting
EndPaint(hwnd,&paintSt);
}
break;
hBitmap
是一個全局變量,這是在一些地方的代碼....顯示圖片分配,但消失時,我最小化窗口....
任何人都可以解釋這一點嗎?
在此先感謝,
感謝哥們,我是WIN32的新手。無論我迄今爲止學到的是這些論壇的所有bcoz,通過提出問題,無論人們建議我寫什麼......將按照您的建議改進我的代碼..我對WIN32庫不太熟悉......努力瞭解它的基本概念..我想我需要努力工作.... Nyways感謝所有的建議。 – aProgrammer 2011-05-06 14:25:24
以下鏈接的最後一行說,我們應該刪除BITMAP .... HTTP使用DeleteObject的()://msdn.microsoft.com/en-us/library/dd183488(VS.85)的.aspx ...您的需要註釋... – aProgrammer 2011-05-07 06:40:30
是的,你用DeleteObject刪除一個HBITMAP。注意H. – 2011-05-07 09:45:22