Осваиваю рисование с применением MFC после опыта с WTL и WinAPI.
Заметил, что для получения CDC из переданного извне HDC используется CDC::FromHandle:
LPDRAWITEMSTRUCT draw_item
CDC* dc = CDC::FromHandle(draw_item->hDC);
Этот метод конструирует CDC для данного HDC и помещает его в некое хранилище, октуда он
когда-нибудь будет удалён (если такого HDC там ещё нет).
Зачем так делают? Почему не просто:
LPDRAWITEMSTRUCT draw_item
CDC dc;
dc.Attach(draw_item->hDC);
?