您的位置:首页 > 其它

TextOut 使用创建字体的方法不同造成不同的显示结果

2011-06-26 15:34 405 查看
LOGFONT logFont;

logFont.lfHeight = 12;
logFont.lfEscapement = 0;
logFont.lfOrientation = 0;
logFont.lfWeight = FW_BOLD;
logFont.lfItalic = FALSE;
logFont.lfUnderline = FALSE;
logFont.lfStrikeOut = FALSE;
logFont.lfOutPrecision = OUT_STROKE_PRECIS;
logFont.lfClipPrecision = CLIP_STROKE_PRECIS;
logFont.lfQuality = DEFAULT_QUALITY;
logFont.lfPitchAndFamily = VARIABLE_PITCH|FF_MODERN;
logFont.lfCharSet = GB2312_CHARSET;
strcpy(logFont.lfFaceName, "宋体");

VERIFY(m_Font2.CreateFont(
12, // nHeight 字体的高度
0, // nWidth 字体的宽度
0, // nEscapement 字体显示的角度
0, // nOrientation 字体的角度
FW_BOLD, // nWeight 字体的磅数
FALSE, // bItalic 斜体字体
FALSE, // bUnderline 带下划线的字体
FALSE, // cStrikeOut 带删除线的字体
GB2312_CHARSET, // nCharSet 所需的字符集
OUT_STROKE_PRECIS, // nOutPrecision 输出的精度
CLIP_STROKE_PRECIS, // nClipPrecision 裁减的精度
DEFAULT_QUALITY, // nQuality 逻辑字体与输出设备的实际字体之间的精度
VARIABLE_PITCH|FF_MODERN, // nPitchAndFamily 字体间距和字体集
_T("宋体"))); // lpszFacename 字体名称

//上面两种不同的字体创建方法,第一种在下面显示不正常,都挤在一起了,m_Font2可以正常显示

CFont* pOldFont = pDC->SelectObject(&m_Font2);
//CFont* pOldFont = pDC->SelectObject(&m_Font);

pDC->SetBkMode(TRANSPARENT);
pDC->TextOut(6, (m_nTitleHeight - 12) / 2, m_strTitle.Left(20));

pDC->SetBkMode(OPAQUE);
pDC->SelectObject(pOldFont);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐