在一个CDialog类中有10个 IDC_STATIC 的控件,怎样可以改变它们的字体?我设置这个CDialog的窗体的Font但是里面的 静态文本控件 的字体并不改变,
在OnCtlColor中的 CWnd *pWnd->SetFont() 窗体内容闪烁。难道需要在 OnInitDialog 一个一个的使用 SetFont 吗?
在OnCtlColor中的 CWnd *pWnd->SetFont() 窗体内容闪烁。难道需要在 OnInitDialog 一个一个的使用 SetFont 吗?
详细内容看msdn
在一个按钮的事件里加上:
LOGFONT If;
static CFont font;CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC1);
pStatic->GetFont()->GetLogFont(&If);
CFontDialog dlg(&If);
//
if(dlg.DoModal()==IDOK)
{
dlg.GetCurrentFont(&If);
font.DeleteObject();
font.CreateFontIndirect(&If);
pStatic->SetFont(&font);
}
{
LOGFONT lfont;
pFont->GetLogFont(&lfont);
lfont.lfWeight = 900;
lfont.lfHeight = -18; pFont->DeleteObject();
pFont->CreateFontIndirect(&lfont);
CDialog::OnSetFont(pFont);
}
不知为何关闭窗口会出异常。并且调试不到。