2010-10-21 2 views
4

Мне было интересно, мне нужно вызвать DeleteObject в следующем случае?Нужно ли мне называть DeleteObject на CFont

CFont* oldFont = label.GetFont(); 
LOGFONT oldLogFont; 
oldFont->GetLogFont(&oldLogFont); 
oldLogFont.lfWeight = FW_BOLD; 
CFont newFont; 
newFont.CreateFontIndirectW(&oldLogFont); 
label.SetFont(&newFont, true); 
// Do I need to call oldFont->DeleteObject() or newFont->DeleteObject()? 

Спасибо.

ответ

3

Нет, вы этого не сделаете. Классы MFC - это классы RAII. Когда объект выходит из области видимости (т.е. деконструируется), объект будет удален соответствующим образом.

Смежные вопросы