清泛IT社区

标题: LOGFONT 和 CFont 区别 [打印本页]

作者: 清泛网    时间: 2016-04-15 17:17
标题: LOGFONT 和 CFont 区别
LOGFONT  和  CFont 本质上是相同的,前者是存储字体相关数据的一个结构体,后者是封装LOGFONT的一个类,用于创建使用字体。

创建字体:
  1. CFont *f = new CFont;
  2.         f->CreateFont(13, // nHeight
  3.                                         0, // nWidth
  4.                                         0, // nEscapement
  5.                                         0, // nOrientation
  6.                                         400, // nWeight
  7.                                         FALSE, // bItalic
  8.                                         FALSE, // bUnderline
  9.                                         0, // cStrikeOut
  10.                                         ANSI_CHARSET, // nCharSet
  11.                                         OUT_DEFAULT_PRECIS, // nOutPrecision
  12.                                         CLIP_DEFAULT_PRECIS, // nClipPrecision
  13.                                         DEFAULT_QUALITY, // nQuality
  14.                                         DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
  15.                                         _T("宋体")); // lpszFac
复制代码
使用字体:
  1. GetDlgItem(IDC_BTN_DEMO)->SetFont(f);
复制代码



获取LOGFONT字体数据结构体:
  1. LOGFONT lf;
  2.         f->GetLogFont(&lf);
复制代码
这时就可以访问LOGFONT中的成员变量了,比如字体名:lf.lfFaceName等。


调用字体设置对话框:
  1. CFontDialog dlg(&lf);
  2.         if(IDOK == dlg.DoModal())
  3.         { //to do }
复制代码
(, 下载次数: 162)




欢迎光临 清泛IT社区 (https://bbs.tsingfun.com/) Powered by Discuz! X3.3