LOGFONT 和 CFont 本质上是相同的,前者是存储字体相关数据的一个结构体,后者是封装LOGFONT</a>的一个类,用于创建使用字体。
创建字体:
CFont *f = new CFont;
f->CreateFont(13, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
400, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("宋体")); // lpszFac
使用字体:
GetDlgItem(IDC_BTN_DEMO)->SetFont(f);
获取LOGFONT字体数据结构体:
LOGFONT lf;
f->GetLogFont(&lf);
这时就可以访问LOGFONT中的成员变量了,比如字体名:lf.lfFaceName等。调用字体设置对话框:
CFontDialog dlg(&lf);
if(IDOK == dlg.DoModal())
{ ... }