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);
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);
相关文章推荐
- 创建Text文件,使用不同的编码会造成生成乱码的现象和解决方法
- asp.net 中使用1个DataGrid控件,显示不同表查询的结果的方法。
- 在创建Vector对象的时候,添加了几个元素,然后使用get(int index)方法,结果显示出错了;
- Log4j输出方法参数不同所显示的结果不同参考
- 使用HTML5 Canvas API控制字体的显示与渲染的方法
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- WPF使用Page创建显示不同控件的程序
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- win8使用every'thing无法显示搜索结果的解决方法
- Mac OS X 系统下快速显示隐藏文件的方法(使用Automator创建workflow)
- VS2008中使用JSONCPP方法修改版本能运行显示结果
- dedecms搜索结果页实现按频道模型显示不同结果模板的方法
- eclipses中使用ANSIConsole插件,让log4j 显示不同字体颜色
- [转]使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- VC中采用不同的方法创建字体
- android中的spannable的使用(TextView分段显示不同颜色,字体,时间 )
- JS中不同的函数创建方式以及相应的使用方法
- yii2中,视图中使用autocomplete在传值和显示在两个不同的表的时候,进行搜索查询的方法
- 使用IntelliJ IDEA 创建Spring Boot项目时 显示 connect timed out 解决方法