Перечисление StringFormatFlags (gdiplusenums.h)
Перечисление StringFormatFlags задает сведения о макете текста (например, ориентацию и вырезку) и операции отображения (например, вставку многоточия, подстановку цифр и представление символов, которые не поддерживаются шрифтом).
Синтаксис
typedef enum StringFormatFlags {
StringFormatFlagsDirectionRightToLeft = 0x00000001,
StringFormatFlagsDirectionVertical = 0x00000002,
StringFormatFlagsNoFitBlackBox = 0x00000004,
StringFormatFlagsDisplayFormatControl = 0x00000020,
StringFormatFlagsNoFontFallback = 0x00000400,
StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
StringFormatFlagsNoWrap = 0x00001000,
StringFormatFlagsLineLimit = 0x00002000,
StringFormatFlagsNoClip = 0x00004000,
StringFormatFlagsBypassGDI = 0x80000000
} ;
Константы
StringFormatFlagsDirectionRightToLeft Значение: 0x00000001 Указывает, что порядок чтения — справа налево. Для горизонтального текста символы считываются справа налево. Для вертикального текста столбцы считываются справа налево. По умолчанию горизонтальный или вертикальный текст считывается слева направо. |
StringFormatFlagsDirectionVertical Значение: 0x00000002 Указывает, что отдельные строки текста рисуются вертикально на устройстве отображения. По умолчанию строки текста являются горизонтальными, каждая новая строка ниже предыдущей строки. |
StringFormatFlagsNoFitBlackBox Значение: 0x00000004 Указывает, что части символов могут перевесить прямоугольник макета строки. По умолчанию символы сначала выравниваются внутри границ прямоугольника, а затем все символы, которые по-прежнему нависают над границами, перемещаются так, чтобы избежать нависания и тем самым не влиять на пиксели за пределами прямоугольника макета. Курсив, строчная буква F (f) является примером символа, который может иметь нависшие части. Установка этого флага гарантирует, что символ визуально выравнивается по строкам выше и ниже, но может привести к тому, что части символов, лежащие за пределами прямоугольника макета, будут обрезаться или закрашиваться. |
StringFormatFlagsDisplayFormatControl Значение: 0x00000020 Указывает, что символы элемента управления макетом Юникода отображаются с репрезентативным символом. |
StringFormatFlagsNoFontFallback Значение: 0x00000400 Указывает, что для символов, которые не поддерживаются в запрошенном шрифте, используется альтернативный шрифт. По умолчанию все отсутствующие символы отображаются с символом "отсутствующие шрифты", обычно это открытый квадрат. |
StringFormatFlagsMeasureTrailingSpaces Значение: 0x00000800 Указывает, что пробел в конце каждой строки включается в строковое измерение. По умолчанию прямоугольник границы возвращается Метод Graphics::MeasureString исключает пробел в конце каждой строки. Установите этот флаг, чтобы включить это пространство в измерение. |
StringFormatFlagsNoWrap Значение: 0x00001000 Указывает, что перенос текста в следующую строку отключен. NoWrap подразумевается, если вместо прямоугольника макета используется исходная точка. При рисовании текста в прямоугольнике текст по умолчанию разбивается на границе последнего слова внутри границы прямоугольника и помещается в следующую строку. |
StringFormatFlagsLineLimit Значение: 0x00002000 Указывает, что в прямоугольнике макета размещаются только целые линии. По умолчанию макет продолжается до конца текста или до тех пор, пока в результате вырезки не будут видны строки, в зависимости от того, что наступит раньше. Параметры по умолчанию позволяют частично скрыть последнюю строку прямоугольником макета, который не является кратным высоте линии. Чтобы убедиться, что видны только целые линии, установите этот флаг и будьте осторожны, чтобы предоставить прямоугольник макета высотой не ниже высоты одной линии. |
StringFormatFlagsNoClip Значение: 0x00004000 Указывает, что символы, нависающие над прямоугольником макета, и текст, расширяющийся за пределами прямоугольника макета, могут отображаться. По умолчанию все нависающие символы и текст, выходящие за рамки прямоугольника макета, обрезаются. Все конечные пробелы (пробелы в конце строки), выходящие за пределы прямоугольника макета, обрезаются. Таким образом, установка этого флага будет влиять на строковое измерение, если в измерение включены конечные пробелы. Если обрезка включена, конечные пробелы, выходящие за рамки прямоугольника макета, не включаются в измерение. Если вырезка отключена, в измерение включаются все конечные пробелы, независимо от того, находятся ли они за пределами прямоугольника макета. |
StringFormatFlagsBypassGDI Значение: 0x80000000 |
Комментарии
Несколько наборов флагов могут создавать объединенные эффекты:
- Если заданы свойства StringFormatFlagsDirectionDirectionVertical и StringFormatFlagsDirectionRightToLeft , отдельные линии текста рисуются по вертикали. Первая строка начинается с правого края прямоугольника макета; вторая строка текста находится слева от первой строки и т. д.
- Если задано значение StringFormatFlagsDirectionVertical , а свойство StringFormatFlagsDirectionRightToLeft не задано, отдельные строки текста рисуются по вертикали. Первая строка начинается с левого края прямоугольника макета; вторая строка текста находится справа от первой строки.
- Если параметр StringFormatFlagsDirectionRightToLeft задан, а StringFormatFlagsDirectionVertical не задан, отдельные строки текста являются горизонтальными, а порядок чтения — справа налево. Этот параметр не изменяет порядок, в котором отображаются символы, он просто задает порядок, в котором можно читать символы.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP, Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | gdiplusenums.h (включая Gdiplus.h) |