CFont::CreateFontIndirect
初始化与 LOGFONTframework为特性的一 CFont 对象。
BOOL CreateFontIndirect(
const LOGFONT* lpLogFont
);
参数
- lpLogFont
指向 LOGFONT 定义逻辑字体特征的结构。
返回值
非零,如果成功;否则为0。
备注
字体可以以后选择作为当前字体的所有计算机。
此字体在 LOGFONT 结构指定的属性。使用 CDC::SelectObject 成员函数时,选定字体,GDI字体制图员尝试对逻辑字体随现有物理字体。如果字体制图员未能找到逻辑字体的精确匹配,它提供属性与许多请求的属性尽可能的备用字体。
当不再需要 CreateFontIndirect 功能时创建的 CFont 对象,请使用 CDC::SelectObject 选择不同的字体到设备上下文,然后删除不再需要的 CFont 对象。
示例
// The code fragment shows how to create a font object,
// select the font object into a DC (device context) for text
// drawing, and finally delete the font object.
// Initializes a CFont object with the characteristics given
// in a LOGFONT structure.
CFont font;
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT)); // zero out structure
lf.lfHeight = 12; // request a 12-pixel-height font
_tcsncpy_s(lf.lfFaceName, LF_FACESIZE,
_T("Arial"), 7); // request a face name "Arial"
VERIFY(font.CreateFontIndirect(&lf)); // create the font
// Do something with the font just created...
CClientDC dc(this);
CFont* def_font = dc.SelectObject(&font);
dc.TextOut(5, 5, _T("Hello"), 5);
dc.SelectObject(def_font);
// Done with the font. Delete the font object.
font.DeleteObject();
要求
标头: afxwin.h