也许这是一个愚蠢的问题,我不明白为什么我不能让一个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