StringFormatFlags 列舉 (gdiplusenums.h)

StringFormatFlags 列舉會指定文字版面配置資訊 (,例如方向和裁剪) ,以及顯示 (,例如省略號插入、數位替代,以及字型) 不支援的字元表示。

Syntax

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