本文整理汇总了C++中CFont::CreateFontIndirectA方法的典型用法代码示例。如果您正苦于以下问题:C++ CFont::CreateFontIndirectA方法的具体用法?C++ CFont::CreateFontIndirectA怎么用?C++ CFont::CreateFontIndirectA使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFont
的用法示例。
在下文中一共展示了CFont::CreateFontIndirectA方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateFont
// *********************************************************************
// CreateFont()
// *********************************************************************
CFont* GdiLabelDrawer::CreateFont(CLabelOptions* options, long fontSize, double scaleFactor)
{
CFont* fnt = new CFont();
CString s(options->fontName);
fnt->CreatePointFont(fontSize * 10, s);
LOGFONT lf;
fnt->GetLogFont(&lf);
if (scaleFactor != 1.0)
{
lf.lfWidth = long((double)lf.lfWidth * scaleFactor);
lf.lfHeight = long((double)lf.lfHeight * scaleFactor);
}
if (abs(lf.lfHeight) < 4) // changed 1 to 4; there is no way to read labels smaller than 4, but they slow down the performance
{
fnt->DeleteObject();
delete fnt;
return NULL;
}
lf.lfItalic = options->fontStyle & fstItalic;
lf.lfUnderline = options->fontStyle & fstUnderline;
lf.lfStrikeOut = options->fontStyle & fstStrikeout;
lf.lfWeight = options->fontStyle & fstBold ? FW_BOLD : 0;
fnt->DeleteObject();
fnt->CreateFontIndirectA(&lf);
return fnt;
}