共用方式為


StringFormatFlags enumeration (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
} ;

Constants

 
StringFormatFlagsDirectionRightToLeft
值: 0x00000001
指定閱讀順序為從右到左。 對於橫向文字,字元則從右向左閱讀。 直排文字則是從右到左閱讀欄位。 預設情況下,橫向或直排文字會從左到右閱讀。
StringFormatFlagsDirectionVertical
值: 0x00000002
規定顯示裝置上垂直繪製單行文字。 預設情況下,文字行為水平排列,每行新行位於前一行之下。
StringFormatFlagsNoFitBlackBox
價值: 0x00000004
規定字元的部分可以懸掛在字串的排版矩形上。 預設情況下,字元會先在矩形邊界內對齊,然後再重新定位仍超出邊界的字元,以避免超出邊界,從而避免影響長方形外的像素。 斜體小寫字母 F(f) 是可能有懸垂部分的字元範例。 設定此旗標可確保字元在視覺上與上下線條對齊,但可能導致位於佈局矩形外的字元部分被裁剪或塗漆。
StringFormatFlagsDisplayFormatControl
價值: 0x00000020
規定 Unicode 版面控制字元以代表字元顯示。
StringFormatFlagsNoFontFallback
價值: 0x00000400
規定使用替代字型用於不支援該字型的字元。 預設情況下,任何缺失的字元會以「字型缺失」字元顯示,通常是開放方格。
StringFormatFlagsMeasureTrailingSpaces
價值: 0x00000800
規定每行末端的空格包含在字串測量中。 預設情況下,邊界矩形由
圖形::MeasureString 方法會排除每行末尾的空格。 將此旗標包含該空格。
StringFormatFlagsNoWrap
價值: 0x00001000
規定禁止將文字換行到下一行。 當使用原點而非佈局矩形時,則隱含 NoWrap 的使用。 在矩形內繪製文字時,預設文字會在矩形邊界內的最後一個字邊界被中斷,並繞到下一行。
StringFormatFlagsLineLimit
價值: 0x00002000
規定在佈局矩形中只排列整條線。 預設情況下,排版會持續到文字結束或因裁剪而不再顯示線條為止,以先發生者為準。 預設設定允許最後一行部分被一個非線高整倍的長方形遮蔽。 為了確保只看到整條線,請設定此旗標,並小心提供至少與一條線高度相同的長方形。
StringFormatFlagsNoClip
價值: 0x00004000
規定允許顯示懸掛於版面矩形的字元及超出版面矩形的文字。 預設情況下,所有超出版面矩形的懸垂字元和文字都會被裁剪。 任何延伸出佈局矩形的後方格(行尾的格子)都會被裁剪。 因此,若測量中包含尾部空格,此旗標的設定會影響弦的測量。 若啟用裁切,超出佈局矩形的後方空間不包含在測量中。 若關閉裁剪,所有後方格都會包含在測量中,無論它們是否位於佈局矩形之外。
StringFormatFlagsBypassGDI
價值: 0x80000000

備註

多個旗標設定可產生綜合效果:

  • StringFormatFlagsDirectionVerticalStringFormatFlagsDirectionRightToLeft 都設定時,會垂直繪製單行文字。 第一行從佈局矩形的右邊緣開始;第二行文字位於第一行的左側,依此類推。
  • StringFormatFlagsDirectionVertical 設定且 StringFormatFlagsDirectionRightToLeft 未設定時,單行文字會垂直繪製。 第一行從佈局矩形的左邊開始;第二行文字位於第一行的右側。
  • StringFormatFlagsDirectionRightToLeft 設定且未設定 StringFormatFlagsDirectionVertical 時,單行文字為水平,閱讀順序為從右至左。 此設定不會改變字元顯示的順序,僅指定字元可讀取的順序。
StringFormatFlagsDirectionVerticalStringFormatFlagsDirectionRightToLeft 旗標會影響字串的對齊。

需求

Requirement 價值觀
最低支援的用戶端 Windows XP、Windows 2000 專業版 [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
Header gdiplusenums.h(包含 Gdiplus.h)

另請參閱

DrawString 方法

格式化文字

MeasureString 方法

字串對齊方式

StringDigitSubstitute

StringFormat::SetFormatFlags

字串修剪