StringFormatFlags 枚举 (gdiplusenums.h)

StringFormatFlags 枚举指定文本布局信息 (如方向和剪裁) 和显示操作 (,如省略号插入、数字替换和字体) 不支持的字符的表示形式。

语法

typedef enum StringFormatFlags {
  StringFormatFlagsDirectionRightToLeft = 0x00000001,
  StringFormatFlagsDirectionVertical = 0x00000002,
  StringFormatFlagsNoFitBlackBox = 0x00000004,
  StringFormatFlagsDisplayFormatControl = 0x00000020,
  StringFormatFlagsNoFontFallback = 0x00000400,
  StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
  StringFormatFlagsNoWrap = 0x00001000,
  StringFormatFlagsLineLimit = 0x00002000,
  StringFormatFlagsNoClip = 0x00004000,
  StringFormatFlagsBypassGDI = 0x80000000
} ;

常量

 
StringFormatFlagsDirectionRightToLeft
值: 0x00000001
指定阅读顺序为从右到左。 对于水平文本,字符从右到左读取。 对于垂直文本,从右到左读取列。 默认情况下,从左到右读取水平或垂直文本。
StringFormatFlagsDirectionVertical
值: 0x00000002
指定在显示设备上垂直绘制单个文本行。 默认情况下,文本行是水平行,每一个新行低于上一行。
StringFormatFlagsNoFitBlackBox
值: 0x00000004
指定允许部分字符悬停在字符串的布局矩形上。 默认情况下,字符首先在矩形的边界内对齐,然后重新定位任何仍悬在边界上的字符,以避免任何悬垂,从而避免影响布局矩形外的像素。 斜体小写字母 F (f) 是可能具有悬垂部分的字符的示例。 设置此标志可确保字符在视觉上与上方和下方的线条对齐,但可能会导致在布局矩形外部的字符部分被剪裁或绘制。
StringFormatFlagsDisplayFormatControl
值: 0x00000020
指定使用代表性字符显示 Unicode 布局控件字符。
StringFormatFlagsNoFontFallback
值: 0x00000400
指定替换字体用于请求的字体中不支持的字符。 默认情况下,任何缺失字符都以“字体缺失”字符显示,通常是一个开放的正方形。
StringFormatFlagsMeasureTrailingSpaces
值: 0x00000800
指定每行末尾的空间包含在字符串度量中。 默认情况下,由 返回的边界矩形
Graphics::MeasureString 方法排除每行末尾的空间。 设置此标志以在度量中包含该空间。
StringFormatFlagsNoWrap
值: 0x00001000
指定禁用文本换行到下一行。 使用原点而不是布局矩形时,隐含 NoWrap。 在矩形内绘制文本时,默认情况下,文本在矩形边界内的最后一个单词边界处被断开,并包装到下一行。
StringFormatFlagsLineLimit
值: 0x00002000
指定在布局矩形中仅布局整行。 默认情况下,布局将一直持续到文本末尾,或者直到由于剪裁而看不到更多行,以先到者为准。 默认设置允许最后一行被布局矩形部分遮盖,该矩形不是行高的完整倍数。 若要确保只看到整行,请设置此标志,并小心提供至少与一行高度相同的布局矩形。
StringFormatFlagsNoClip
值: 0x00004000
指定允许显示悬在布局矩形上方的字符和布局矩形外延伸的文本。 默认情况下,将剪裁所有延伸在布局矩形外部的悬垂字符和文本。 在布局矩形外延伸的行) 末尾的任何尾随空格 (空格均被剪裁。 因此,如果度量中包含尾随空格,则此标志的设置将影响字符串度量。 如果启用了剪裁,则度量中不包括在布局矩形外延伸的尾随空格。 如果禁用剪裁,则所有尾随空格都包含在度量中,无论它们是否在布局矩形之外。
StringFormatFlagsBypassGDI
值: 0x80000000

注解

设置的多个标志可以产生组合效果:

  • 设置 StringFormatFlagsDirectionVerticalStringFormatFlagsDirectionRightToLeft 时,将垂直绘制单个文本行。 第一行从布局矩形的右边缘开始;第二行文本位于第一行左侧,依此。
  • 设置 StringFormatFlagsDirectionVertical 且未设置 StringFormatFlagsDirectionRightToLeft 时,将垂直绘制单个文本行。 第一行从布局矩形的左边缘开始;第二行文本位于第一行右侧。
  • 如果设置了 StringFormatFlagsDirectionRightToLeft 且未设置 StringFormatFlagsDirectionVertical ,则各个文本行为水平行,阅读顺序从右到左。 此设置不会更改字符的显示顺序,它只是指定字符的读取顺序。
StringFormatFlagsDirectionVerticalStringFormatFlagsDirectionRightToLeft 标志可能会影响字符串对齐方式。

要求

要求
最低受支持的客户端 Windows XP、Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 gdiplusenums.h (包括 Gdiplus.h)

另请参阅

DrawString 方法

设置文本格式

MeasureString 方法

StringAlignment

StringDigitSubstitute

StringFormat::SetFormatFlags

StringTrimming