CWnd::GetDC
От: Alexander G Украина  
Дата: 12.08.16 10:27
Оценка:
CWnd::GetDC, получается, вызывать нет смысла.

Потому что он возвращает экземляр класса CDC, который когда-нибудь будет удалён, но в нём хранится результат ::GetDC , поэтому парный вызов нужен ::ReleaseDC, а не ::DeleteDC.

Код

CDC* dc = wnd->GetDC();
...
wnd->ReleaseDC(dc);


тоже некорректен, т.к. ReleaseDC не обнулит HDC в CDC, и ::DeleteDC всё равно будет лишний раз вызван

Т.е. лучше вообще не использовать CWnd::GetDC , а делать так

CWindowDC dc(wnd);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.