TextOut 与DrawText
来源:互联网 发布:怎样在淘宝买到正品 编辑:程序博客网 时间:2024/05/16 10:17
1、CDC::TextOut()在指定位置输出指定字符串。函数原型:
virtual BOOL TextOut( int x, int y, LPCTSTR lpszString, int nCount );BOOL TextOut( int x, int y, const CString& str );
eg:CPaintDC dc(this);
dc.TextOut(0, 50, _T("hello world"));
2、CDC::DrawText()在指定的矩形区域里写入格式化的文本。函数原型:
virtual int DrawText( LPCTSTR lpszString, int nCount, LPRECT lpRect, UINT nFormat );int DrawText( const CString& str, LPRECT lpRect, UINT nFormat );
最后一个参数指定格式化的方法:DT_CALCRECT:这个参数比较重要,可以使DrawText函数计算出输出文本的尺寸。如果输出文本有多行,DrawText函数使用lpRect定义的矩形的宽度,并扩展矩形的底部以容纳输出文本的最后一行。如果输出文本只有一行,则DrawText函数改变矩形的右边界,以容纳下正文行的最后一个字符。出现上述任何一种情况,DrawText函数将返回格式化文本的高度,而不是绘制文本。
DT_CENTER:文本水平居中,是从中间向两边输出文本。
DT_LEFT:文本左对齐,是从左向右输出文本。
DT_RIGHT:文本右对齐,是从右向左输出文本。
DT_LEFT:文本左对齐,是从左向右输出文本。
DT_RIGHT:文本右对齐,是从右向左输出文本。
DT_VCENTER:指定文本垂直居中显示。该标记只在单行文本输出时有效,所以它必须与DT_SINGLELINE结合使用。
DT_SINGLELINE:单行显示文本,使回车和换行符都不断行。
DT_WORDBREAK:当指定参数为DT_WORDBREAK时,DrawText就有了自动识别单词的功能,它会把连在一起的英文字符或数字识了一个单词,当一行显示不下时,它会自动跳转到下一行显示,当单词的长度超过矩形的宽度时,该单词就不能完全显示了。
DT_NOPREFIX:关闭前缀字符。通常DrawText将助记前缀&理解为其后字符加上下划线,前缀&&表示显示一个&字符,指定 DT_NOPREFIX后关闭了这种处理。
DT_BOTTOM:将正文调整到矩形底部。此值必须和DT_SINGLELINE组合。
DT_EDITCONTROL:复制多行编辑控制的正文显示特性。
eg:
CPaintDC dc(this);
dc.SetBkMode(TRANSPARENT);
CFont fontGrade;
fontGrade.CreatePointFont(100, L"宋体");
dc.SelectObject(&fontGrade);
dc.DrawTextW(_T("hello world"),\
&CRect(0,0,100,40), \
DT_EDITCONTROL|DT_WORDBREAK|DT_LEFT|DT_NOPREFIX);
DT_WORDBREAK:当指定参数为DT_WORDBREAK时,DrawText就有了自动识别单词的功能,它会把连在一起的英文字符或数字识了一个单词,当一行显示不下时,它会自动跳转到下一行显示,当单词的长度超过矩形的宽度时,该单词就不能完全显示了。
DT_NOPREFIX:关闭前缀字符。通常DrawText将助记前缀&理解为其后字符加上下划线,前缀&&表示显示一个&字符,指定 DT_NOPREFIX后关闭了这种处理。
DT_BOTTOM:将正文调整到矩形底部。此值必须和DT_SINGLELINE组合。
DT_EDITCONTROL:复制多行编辑控制的正文显示特性。
eg:
CPaintDC dc(this);
dc.SetBkMode(TRANSPARENT);
CFont fontGrade;
fontGrade.CreatePointFont(100, L"宋体");
dc.SelectObject(&fontGrade);
dc.DrawTextW(_T("hello world"),\
&CRect(0,0,100,40), \
DT_EDITCONTROL|DT_WORDBREAK|DT_LEFT|DT_NOPREFIX);
0 0
- TextOut 与DrawText
- CDC - TextOut与DrawText
- CDC::TextOut 与 CDC::DrawText
- DrawText函数与TextOut函数的区别
- TextOut和DrawText
- TextOut和DrawText的比较
- MFC中 dc.DrawText()与dc.TextOut()从功能上讲有什么区别?
- TextOut is not supported on CE , use DrawText or ExtTextOut
- 文本输出API函数:TextOut,ExtTextOut,DrawText,DrawTextEx,PolyTextOut,TabbedTextOut
- 向窗口输出文字--TextOut和DrawText函数
- TextOut 与DrawTextOut
- Textout
- TextOut
- DrawText
- DrawText
- DrawText
- DrawText()
- DrawText
- 图的深度遍历
- wait morphing
- python的pip和virtualenv使用心得
- 如何打好网球
- 京东的未来靠什么?
- TextOut 与DrawText
- 材料与工程学科相关软件
- C++复习
- hibernate一个用户访问多个表空间
- Unity3D的eclipse工程环境搭建
- java泛型在list.toArray()处的难堪
- java基础(十六)-----GUI基础②
- 计算机网络连接故障六个排查的基本步骤
- 使用graphviz画数据流图