也許這是一個愚蠢的問題,我不明白爲什麼我不能讓一個DC在下面的代碼創建:與CreateCompatibleDC奇怪的錯誤
HBITMAP COcrDlg::LoadClippedBitmap(LPCTSTR pathName,UINT maxWidth,UINT maxHeight)
{
HBITMAP hBmp = (HBITMAP)::LoadImage(NULL, pathName, IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE | LR_CREATEDIBSECTION);
if (!hBmp)
return NULL;
HDC hdc = (HDC)GetDC();
HDC hdcMem = CreateCompatibleDC(hdc);
if (!hdcMem)
{
DWORD err = GetLastError();
}
...
...
...
位圖骨形態發生蛋白是加載罰款和HDC具有有效值。但是對CreateCompatibleDC()的調用返回一個NULL指針。然後,GetLastError()返回0! 有人可以猜到這裏發生了什麼事嗎?
PS:在這個之前沒有調用內存分配或GDI例程......所以我認爲應該排除內存泄漏。
你是完全正確的。這是錯誤。感謝所有人的幫助! – sevaxx 2010-05-26 01:46:45