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 |
備註
多個旗標設定可產生綜合效果:
- 當 StringFormatFlagsDirectionVertical 和 StringFormatFlagsDirectionRightToLeft 都設定時,會垂直繪製單行文字。 第一行從佈局矩形的右邊緣開始;第二行文字位於第一行的左側,依此類推。
- 當 StringFormatFlagsDirectionVertical 設定且 StringFormatFlagsDirectionRightToLeft 未設定時,單行文字會垂直繪製。 第一行從佈局矩形的左邊開始;第二行文字位於第一行的右側。
- 當 StringFormatFlagsDirectionRightToLeft 設定且未設定 StringFormatFlagsDirectionVertical 時,單行文字為水平,閱讀順序為從右至左。 此設定不會改變字元顯示的順序,僅指定字元可讀取的順序。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows XP、Windows 2000 專業版 [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
| Header | gdiplusenums.h(包含 Gdiplus.h) |