StringFormatFlags枚举指定文本布局信息(如方向和剪切)和显示操作(例如省略号插入,数字替换和字体不支持的字符的表示)。
C++ 语法
typedef enum {
StringFormatFlagsDirectionRightToLeft = 0x00000001,
StringFormatFlagsDirectionVertical = 0x00000002,
StringFormatFlagsNoFitBlackBox = 0x00000004,
StringFormatFlagsDisplayFormatControl = 0x00000020,
StringFormatFlagsNoFontFallback = 0x00000400,
StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
StringFormatFlagsNoWrap = 0x00001000,
StringFormatFlagsLineLimit = 0x00002000,
StringFormatFlagsNoClip = 0x00004000
} StringFormatFlags;
PowerBASIC 语法
%StringFormatFlagsDirectionRightToLeft = &H00000001
%StringFormatFlagsDirectionVertical = &H00000002
%StringFormatFlagsNoFitBlackBox = &H00000004
%StringFormatFlagsDisplayFormatControl = &H00000020
%StringFormatFlagsNoFontFallback = &H00000400
%StringFormatFlagsMeasureTrailingSpaces = &H00000800
%StringFormatFlagsNoWrap = &H00001000
%StringFormatFlagsLineLimit = &H00002000
%StringFormatFlagsNoClip = &H00004000
常量
StringFormatFlagsDirectionRightToLeft
指定阅读顺序是从右到左。对于水平文本,字符从右到左读取。对于垂直文本,列从右到左读取。默认情况下,从左到右读取水平或垂直文本。
StringFormatFlagsDirectionVertical
指定在显示设备上垂直绘制单个文本行。默认情况下,文本行是水平的,每行新行在前一行以下。
StringFormatFlagsNoFitBlackBox
指定允许部分字符突出显示字符串的布局矩形。默认情况下,字符首先在矩形边界内对齐,然后重新定位任何仍然悬在边界上的字符,以避免任何突出,从而避免影响布局矩形外的像素。斜体字母F(f)是可能具有突出部分的字符的示例。设置此标志可确保字符与上下方向的视觉对齐,但可能会导致位于布局矩形之外的部分字符被剪裁或绘制。
StringFormatFlagsDisplayFormatControl
指定使用代表性字符显示Unicode布局控制字符。
StringFormatFlagsNoFontFallback
指定在所请求的字体中不支持的字符使用替代字体。默认情况下,任何缺少的字符都会显示“缺少字体”字符,通常是一个空格。
StringFormatFlagsMeasureTrailingSpaces
指定每行末尾的空格都包含在字符串测量中。默认情况下,由GdipMeasureString函数返回的边界矩形排除每一行末尾的空格。设置此标志以在测量中包括该空间。
StringFormatFlagsNoWrap
指定将文本包装到下一行被禁用。当使用原点而不是布局矩形时,隐含NoWrap.在矩形内绘制文本时,默认情况下,文本在矩形边界内的最后一个字边界处被打破,并被包装到下一行。
StringFormatFlagsLineLimit
指定在布局矩形中只布置整行。默认情况下,布局将一直延续到文本的末尾,或者直到由于剪辑而不再有可见的行(以先到者为准)。默认设置允许最后一行被不超过行高度的整数倍的布局矩形部分地遮蔽。为了确保只看到整行,设置此标志,并小心提供至少与一行高度一样高的布局矩形。
StringFormatFlagsNoClip
指定允许显示突出布局矩形的字符和在布局矩形外部延伸的文本。默认情况下,所有突出的字符和在布局矩形外部延伸的文本都被剪切。任何在布局矩形外部延伸的任何尾随空格(位于一行的末尾的空格)都将被剪切。因此,如果测量中包含尾部空格,则此标志的设置将对字符串测量有影响。如果启用剪切,则扩展到布局矩形外的尾部空格不包括在测量中。如果剪切被禁用,则所有尾部空格都包含在测量中,无论它们是否在布局矩形之外。
备注
多个标志集可以产生组合效果:
· | 当设置StringFormatFlagsDirectionVertical和StringFormatFlagsDirectionRightToLeft时,垂直绘制单个文本行。第一行从布局矩形的右边缘开始;文字的第二行在第一行的左边,依此类推。 |
· | 设置StringFormatFlagsDirectionVertical并且未设置StringFormatFlagsDirectionRightToLeft时,垂直绘制单个文本行。第一行从布局矩形的左边缘开始;第二行文本位于第一行的右侧。 |
· | 设置StringFormatFlagsDirectionRightToLeft并且StringFormatFlagsDirectionVertical未设置时,单个文本行是水平的,读取顺序是从右到左。此设置不会更改显示字符的顺序,它只是指定可以读取字符的顺序。 |
StringFormatFlagsDirectionVertical和StringFormatFlagsDirectionRightToLeft标志可以影响字符串对齐。