StringFormatFlags Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает сведения об отображении и размещении строк текста.
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class StringFormatFlags
[System.Flags]
public enum StringFormatFlags
[<System.Flags>]
type StringFormatFlags =
Public Enum 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+.