设置值格式
本部分列出了与 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 | 忽略文本中的前缀字符 &。 后面的字母不带下划线,但仍会处理其他前缀字符。 例如: 输入字符串:“&bc&&d” normal:“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,将关闭此处理。 例如: 输入字符串:“&bc&&d” normal:“abc&d” DT_NOPREFIX:“&bc&&d” |
DT_PATH_ELLIPSIS | 将文本中间的字符替换为省略号,以便结果适合显示矩形。 如果字符串包含反斜杠(\)字符,则DT_PATH_ELLIPSIS在最后一个反斜杠后保留尽可能多的文本。 除非指定了DT_MODIFYSTRING标志,否则不会修改该字符串。 |
DT_PREFIXONLY | 仅在前缀字符 &后字符的位置绘制下划线。 通常,DrawThemeText 将 & 解释为指令,以下划线后面的字符,并将前缀字符 && 为指令来打印单个 &。 通过指定DT_PREFIXONLY,不会绘制任何字符,只绘制下划线。 空格放置在通常显示字符的位置。 例如: 输入字符串:“&bc&&d” normal:“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 | 截断任何不适合显示矩形的单词,并添加省略号。 |