StringFormatFlags 列舉

定義

指定文字字串的顯示和配置資訊。

此列舉支援其成員值的位元組合。

public enum class StringFormatFlags
[System.Flags]
public enum StringFormatFlags
[<System.Flags>]
type StringFormatFlags = 
Public Enum StringFormatFlags
繼承
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 傳遞為 PaintEventArgsPaint

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

備註

StringFormatFlagsStringFormat 類別使用。

注意

FitBlackBox 欄位的名稱錯誤,其行為類似于 NoFitBlackBox 原始 GDI+ 實作中的欄位。

適用於