2009-05-07 24 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を()LOGFONT構造のlfWeightプロパティを変更し、それに基づいて新しいフォントを作成します。 – 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); 
} 
関連する問題