Может быть, это глупый вопрос, я не могу понять, почему я не могу получить 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();
}
...
...
...
Растровое hBmp загружается нормально и HDC имеет действительный стоимость. Но вызов CreateCompatibleDC() возвращает указатель NULL. Затем GetLastError() возвращает 0! Кто-нибудь может догадаться, что здесь происходит, пожалуйста?
PS: Нет никаких распределений памяти или подпрограмм GDI до этого ... поэтому я считаю, что утечки памяти должны быть исключены.
Вы совершенно правы. Это была ошибка. Благодарен всем за помощь! – sevaxx