设置值格式
本节列出了与 DrawThemeText 和 GetThemeTextExtent 函数的 dwTextFlags 参数一起使用的值。 其中一个或多个值用于指定文本字符串的格式。 DrawThemeText 函数将在 pRect 参数指定的显示矩形内绘制文本字符串。 GetThemeTextExtent 函数可用于确定给定长度和格式的文本所需的边界矩形。
设置值格式
下表列出了格式值。
值 | 说明 |
---|---|
DT_BOTTOM | 呈现显示矩形底部的文本字符串。 该值仅与 DT_SINGLELINE 值一起使用。 |
DT_CALCRECT | 确定显示矩形的宽度和高度。 |
DT_CENTER | 将文本在显示矩形内水平居中。 |
DT_EDITCONTROL | 复制多行编辑控件的文本显示特性。 具体来说,平均字符宽度的计算方法与编辑控件相同,而且该函数不会显示部分可见的最后一行。 |
DT_END_ELLIPSIS | 截断宽度大于显示矩形的文本字符串,并添加省略号来表示截断。 除非指定 DT_MODIFYSTRING 标志,否则字符串不会被修改。 |
DT_EXPANDTABS | 展开制表符字符。 每个制表符的默认字符数为 8。 DT_WORD_ELLIPSIS、DT_PATH_ELLIPSIS 和 DT_END_ELLIPSIS 值不能与 DT_EXPANDTABS 值一起使用。 |
DT_EXTERNALLEADING | 在行高中包含字体的外部前导。 通常情况下,外部前导会不包括在一行文字的高度内。 |
DT_HIDEPREFIX | 忽略文本中的前缀字符 &。 后面的字母不加下划线,但仍会处理其他前缀字符。 例如: 输入字符串:“A&bc&&d” 正常:“Abc&d” DT_HIDEPREFIX:“Abc&d” |
DT_LEFT | 让文本左对齐。 |
DT_MODIFYSTRING | 修改字符串以匹配显示的文本。 除非指定 DT_END_ELLIPSIS 或 DT_PATH_ELLIPSIS,否则此值不起作用。 |
DT_NOCLIP | 在不裁剪显示矩形的情况下绘制文本字符串。 |
DT_NOFULLWIDTHCHARBREAK | 防止在双字节字符集 (DBCS) 上换行,这样换行规则就等效于单字节字符集 (SBCS)。 例如,这可以用来让以韩文书写的图标标签更加易于阅读。 除非指定 DT_WORDBREAK,否则此值无效。 |
DT_NOPREFIX | 关闭对前缀字符的处理。 通常,DrawThemeText 会将前缀字符 & 解释为对后面的字符下划线的指令,将前缀字符 && 解释为打印单个 & 的指令。 通过指定 DT_NOPREFIX,此处理将被关闭。 例如: 输入字符串:“A&bc&&d” 正常:“Abc&d” DT_NOPREFIX:“A&bc&&d” |
DT_PATH_ELLIPSIS | 用省略号替换文本中间的字符,让结果适合显示矩形。 如果字符串包含反斜杠 (\) 字符,则 DT_PATH_ELLIPSIS 会尽可能保留最后一个反斜杠后面的文本。 除非指定 DT_MODIFYSTRING 标志,否则字符串不会被修改。 |
DT_PREFIXONLY | 仅在前缀字符 & 之后的字符位置画下划线。 通常,DrawThemeText 会将 & 解释为下划线字符的指令,将前缀字符 && 解释为打印单个 & 的指令。 如果指定 DT_PREFIXONLY,则不会绘制任何字符,而只绘制下划线。 在字符通常出现的位置会保留空白。 例如: 输入字符串:“A&bc&&d” 正常:“Abc&d DT_PREFIXONLY:“ ” |
DT_RIGHT | 让文本右对齐。 |
DT_RTLREADING | 对于双向文本,例如希伯来文或阿拉伯文字体的文本,将按从右到左的顺序排列。 文本的默认方向是从左到右。 |
DT_SINGLELINE | 在单行上显示文本。 回车符和换行符不会断行。 |
DT_TABSTOP | 设置制表符停止位置。 |
DT_TOP | 呈现显示矩形顶部的文本。 |
DT_VCENTER | 垂直居中文本。 该值仅与 DT_SINGLELINE 值一起使用。 |
DT_WORDBREAK | 如果字词超出了显示矩形的边缘,则在字词之间换行。 回车符/换行符 (CR/LF) 序列也会断行。 |
DT_WORD_ELLIPSIS | 截断不适合显示矩形的任何字词并添加省略号。 |