设置值格式

本节列出了与 DrawThemeTextGetThemeTextExtent 函数的 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 截断不适合显示矩形的任何字词并添加省略号。