2009-05-07 3 views

ответ

2

Вы можете создать новый CFont и вызвать WM_SETFONT на кнопке. Что-то вроде этого:

// note: m_font is a class variable of type CFont 
m_font.CreateFont(10, 0, 0, 0, FW_BOLD, 0, 0, 0, 0, 0, 0, 0, 0, "Arial") 
GetDlgItem(IDC_BUTTON1)->SendMessage(WM_SETFONT, WPARAM(HFONT(font)), 0); 
+3

Конечно, вы должны сделать GetFont() -> GetLogFont() кнопки, изменять свойства lfWeight LOGFONT структуры и создать новый шрифт, основанный на нем. – macbirdie

+0

спасибо @macbirdie, именно то, что я собирался проследить –

11
class CYourDialog : CDialog 
{ 
public: 
    virtual BOOL OnInitDialog(); // override 

private: 
    CButton m_button; 
    CFont m_font; 
}; 

BOOL CYourDialog::OnInitDialog() 
{ 
     __super::OnInitDialog(); 

     CFont* font = m_button.GetFont(); 

     LOGFONT logFont; 
     font->GetLogFont(&logFont); 
     logFont.lfWeight = FW_BOLD; 

     m_font.CreateFontIndirect(&logFont); 
     m_button.SetFont(&m_font); 
} 
Смежные вопросы