DT_VCENTER 垂直居中显示文本
DT_WORDBREAK
文本行超过矩形区域的宽时换行
3)ExtTextOut
virtual BOOL ExtTextOut( int x, int y, UINT nOptions, LPCRECT lpRect,
LPCTSTR lpszString, UINT nCount, LPINT lpDxWidths );
BOOL ExtTextOut( int x, int y, UINT nOptions, LPCRECT lpRect,
const CString& str, LPINT lpDxWidths );
其中,nOptions 可为 ETO_CLIPPED(裁剪)/ ETO_OPAQUE(不透明),lpRect 为裁剪矩
形(可为 NULL), lpDxWidths 指定字符的间距(为 NULL 时使用缺省间距)
2.文本对齐
可用 CDC 类的 SetTextAlign 函数来设置 TextOut 和 ExtTextOut 显示文本时的对齐方式:
UINT SetTextAlign( UINT nFlags );
文本对齐标志 nFlags 的取值
符号常量 含义
TA_BASELINE 基线对齐
TA_BOTTOM 底对齐
TA_CENTER
居中显示文本
TA_LEFT 居左显示文本(缺省值)
TA_NOUPDATE
不更新当前位置
TA_RIGHT 居右显示文本
TA_TOP
顶对齐(缺省值)
TA_UPDATE 更新当前位置
这些标志可以用位或“|”来组合。例如:(其中的 w 和 h 分别为客户区的宽和高)
pDC->TextOut(10, 10, L"这是左上角"); // 缺省为“TA_LEFT | TA_TOP”
pDC->SetTextAlign(TA_CENTER);
pDC->TextOut(w / 2, 10, L"这是顶部中央");
pDC->SetTextAlign(TA_RIGHT);
pDC->TextOut(w - 10, 10, L"这是右上角");
pDC->SetTextAlign(TA_BOTTOM);
pDC->TextOut(10, h - 10, L"这是左下角");
pDC->SetTextAlign(TA_BOTTOM | TA_RIGHT);
pDC->TextOut(w - 10, h - 10, L"这是右下角");
评论30
最新资源