StringFormatFlags 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定文字字串的顯示和配置資訊。
此列舉支援其成員值的位元組合。
public enum class StringFormatFlags
[System.Flags]
public enum StringFormatFlags
[<System.Flags>]
type StringFormatFlags =
Public Enum StringFormatFlags
- 繼承
- 屬性
欄位
DirectionRightToLeft | 1 | 文字會由右至左顯示。 |
DirectionVertical | 2 | 文字會垂直對齊。 |
DisplayFormatControl | 32 | 控制字元 (例如由右至左標記) 會以代表圖像 (Glyph) 顯示於輸出中。 |
FitBlackBox | 4 | 允許部分字元突出字串的配置矩形。 根據預設,會重新調整字元位置以避免任何突出部分。 |
LineLimit | 8192 | 只有整行會配置在格式化矩形中。 根據預設值,配置會持續到文字結束為止,或者持續到因為裁剪 (Clipping) 而讓文字不再顯示為止 (無論何者先發生)。 請注意,預設值會格式化不是行高整數倍數的矩形,藉此部分遮蔽最後一個文字行。 若要確保只看見完整的文字行,請指定這個值,並小心提供至少與單行同高的格式化矩形。 |
MeasureTrailingSpaces | 2048 | 包含每行結尾處的後端空白字元。 根據預設值,由 MeasureString 方法傳回的邊界矩形會排除每行末端的空白。 設定這個旗標,會將該空白包含在測量範圍內。 |
NoClip | 16384 | 允許顯示圖像的突出部分和超出格式化矩形外部的未換行文字。 根據預設值,超出格式化矩形外部的所有文字和圖像會加以裁剪。 |
NoFontFallback | 1024 | 停用將要求字型中不支援的字元字型回溯為替代字型的功能。 任何遺漏的字元會以字型遺漏圖像加以顯示,通常是空心正方形。 |
NoWrap | 4096 | 停用在矩形中進行格式化時的行間文字換行功能。 當傳遞點而非傳遞矩形時,或者當指定矩形具有為零的線長度時,即暗示這個旗標。 |
範例
下列程式代碼範例示範下列成員:
此範例的設計目的是要與 Windows Forms 搭配使用。 將程式代碼貼到表單中,並在處理表單的事件時呼叫 ShowLineAndAlignment
方法,並e
傳遞為 PaintEventArgs。Paint
private:
void ShowLineAndAlignment( PaintEventArgs^ e )
{
// Construct a new Rectangle .
Rectangle displayRectangle = Rectangle(Point(40,40),System::Drawing::Size( 80, 80 ));
// Construct 2 new StringFormat objects
StringFormat^ format1 = gcnew StringFormat( StringFormatFlags::NoClip );
StringFormat^ format2 = gcnew StringFormat( format1 );
// Set the LineAlignment and Alignment properties for
// both StringFormat objects to different values.
format1->LineAlignment = StringAlignment::Near;
format1->Alignment = StringAlignment::Center;
format2->LineAlignment = StringAlignment::Center;
format2->Alignment = StringAlignment::Far;
// Draw the bounding rectangle and a string for each
// StringFormat object.
e->Graphics->DrawRectangle( Pens::Black, displayRectangle );
e->Graphics->DrawString( "Showing Format1", this->Font, Brushes::Red, displayRectangle, format1 );
e->Graphics->DrawString( "Showing Format2", this->Font, Brushes::Red, displayRectangle, format2 );
}
private void ShowLineAndAlignment(PaintEventArgs e)
{
// Construct a new Rectangle .
Rectangle displayRectangle =
new Rectangle (new Point(40, 40), new Size (80, 80));
// Construct 2 new StringFormat objects
StringFormat format1 = new StringFormat(StringFormatFlags.NoClip);
StringFormat format2 = new StringFormat(format1);
// Set the LineAlignment and Alignment properties for
// both StringFormat objects to different values.
format1.LineAlignment = StringAlignment.Near;
format1.Alignment = StringAlignment.Center;
format2.LineAlignment = StringAlignment.Center;
format2.Alignment = StringAlignment.Far;
// Draw the bounding rectangle and a string for each
// StringFormat object.
e.Graphics.DrawRectangle(Pens.Black, displayRectangle);
e.Graphics.DrawString("Showing Format1", this.Font,
Brushes.Red, (RectangleF)displayRectangle, format1);
e.Graphics.DrawString("Showing Format2", this.Font,
Brushes.Red, (RectangleF)displayRectangle, format2);
}
Private Sub ShowLineAndAlignment(ByVal e As PaintEventArgs)
' Construct a new Rectangle.
Dim displayRectangle _
As New Rectangle(New Point(40, 40), New Size(80, 80))
' Construct two new StringFormat objects
Dim format1 As New StringFormat(StringFormatFlags.NoClip)
Dim format2 As New StringFormat(format1)
' Set the LineAlignment and Alignment properties for
' both StringFormat objects to different values.
format1.LineAlignment = StringAlignment.Near
format1.Alignment = StringAlignment.Center
format2.LineAlignment = StringAlignment.Center
format2.Alignment = StringAlignment.Far
' Draw the bounding rectangle and a string for each
' StringFormat object.
e.Graphics.DrawRectangle(Pens.Black, displayRectangle)
e.Graphics.DrawString("Showing Format1", Me.Font, Brushes.Red, _
RectangleF.op_Implicit(displayRectangle), format1)
e.Graphics.DrawString("Showing Format2", Me.Font, Brushes.Red, _
RectangleF.op_Implicit(displayRectangle), format2)
End Sub
備註
StringFormatFlags 由 StringFormat 類別使用。
注意
FitBlackBox 字段的名稱錯誤,其行為類似於 NoFitBlackBox
原始 GDI+ 實作中的欄位。