Поделиться через


StringFormatFlags Перечисление

Определение

Указывает сведения об отображении и размещении строк текста.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class StringFormatFlags
[System.Flags]
public enum StringFormatFlags
[<System.Flags>]
type StringFormatFlags = 
Public Enum StringFormatFlags
Наследование
StringFormatFlags
Атрибуты

Поля

DirectionRightToLeft 1

Отображает текст справа налево.

DirectionVertical 2

Текст выравнивается по вертикали.

DisplayFormatControl 32

Управляющие символы, такие как метка слева направо, показываются в выходных данных с помощью характерного глифа.

FitBlackBox 4

Частям символов разрешается выступать за границы прямоугольника строки. По умолчанию положение символов изменяется во избежание какого-либо выступа.

LineLimit 8192

В прямоугольнике форматирования размещаются только целые строки. По умолчанию форматирование продолжается либо до конца текста, либо до того места, после которого в результате усечения отсутствуют видимые строки. Следует иметь в виду, что стандартные параметры разрешают частично скрывать последнюю строку в прямоугольнике форматирования, высота которого не кратна высоте строки. Чтобы отображались только целые строки, задайте это значение, не забыв предусмотреть, чтобы высота прямоугольника форматирования была не меньше высоты одной строки.

MeasureTrailingSpaces 2048

Вставляет замыкающий пробел в конце каждой строки. По умолчанию ограничивающий прямоугольник, возвращаемый методом MeasureString, исключает пробелы в конце каждой строки. Установите этот флаг, чтобы включить в результат измерения эти пробелы.

NoClip 16384

Разрешается отображать выступающие части глифов и текст, выходящий за пределы прямоугольной зоны форматирования. По умолчанию весь текст и части глифов, выступающие за границы прямоугольника форматирования, отсекаются.

NoFontFallback 1024

Переход к альтернативным шрифтам для знаков, не поддерживаемых в требуемом шрифте, отключен. Все недостающие символы отображаются с помощью глифа отсутствия шрифтов, обычно пустого квадрата.

NoWrap 4096

Автоматический перенос на новую строку при форматировании в прямоугольнике отключен. Этот флаг означает передачу точки вместо прямоугольника или нулевую длину строки указанного прямоугольника.

Примеры

В следующем примере кода показаны следующие элементы:

Этот пример предназначен для использования с Windows Forms. Вставьте код в форму и вызовите ShowLineAndAlignment метод при обработке события формы Paint , передавая e как PaintEventArgs.

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+.

Применяется к