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


Формат значений

В этом разделе перечислены значения, используемые с параметром dwTextFlags функций DrawThemeText и GetThemeTextExtent. Одно или несколько этих значений используются для указания форматирования текстовой строки. Функция DrawThemeText рисует текстовую строку внутри прямоугольника отображения, указанную параметром pRect . Функцию GetThemeTextExtent можно использовать для определения необходимого ограничивающего прямоугольника для текста заданной длины и формата.

Формат значений

В следующей таблице перечислены значения формата.

значение Описание
DT_BOTTOM Отрисовывает текстовую строку в нижней части прямоугольника отображения. Это значение используется только со значением DT_SINGLELINE.
DT_CALCRECT Определяет ширину и высоту прямоугольника отображения.
DT_CENTER Центризует текст по горизонтали в прямоугольнике отображения.
DT_EDITCONTROL Дублирует характеристики отображения текста элемента управления многострочного редактирования. В частности, средняя ширина символов вычисляется так же, как и для элемента управления редактированием, а функция не отображает частично видимую последнюю строку.
DT_END_ELLIPSIS Усечение текстовой строки, которая шире прямоугольника отображения и добавляет многоточие, чтобы указать усечение. Строка не изменяется, если не указан флаг DT_MODIFYSTRING.
DT_EXPANDTABS Разворачивает символы вкладок. Число символов по умолчанию на вкладку составляет восемь. Значения DT_WORD_ELпакет интерфейса пользователя SIS, DT_PATH_ELпакет интерфейса пользователя SIS и DT_END_ELпакет интерфейса пользователя SIS нельзя использовать со значением DT_EXPANDTABS.
DT_EXTERNALLEADING Включает внешний ведущий шрифта в высоту линии. Как правило, внешний ведущий не включается в высоту строки текста.
DT_HIDEPREFIX Игнорирует символ префикса и в тексте. Следующая буква не подчеркивается, но другие символы префикса по-прежнему обрабатываются. Например:
входная строка: "A&bc&d"
normal: "Abc&d"
DT_HIDEPREFIX: "Abc&d"
DT_LEFT Выравнивает текст слева.
DT_MODIFYSTRING Изменяет строку для сопоставления отображаемого текста. Это значение не действует, если не указано DT_END_ELпакет интерфейса пользователя SIS или DT_PATH_ELпакет интерфейса пользователя SIS.
DT_NOCLIP Рисует текстовую строку без вырезки прямоугольника отображения.
DT_NOFULLWIDTHCHARBREAK Предотвращает разрыв строки в двухбайтовом наборе символов (DBCS), чтобы правило разбиения строк эквивалентно однобайтовой кодировке (SBCS). Это можно использовать, например, для создания меток значков, написанных в корейском тексте, более читаемым. Это значение не действует, если не указано DT_WORDBREAK.
DT_NOPREFIX Отключает обработку символов префикса. Как правило, DrawThemeText интерпретирует префикс и как директиву, чтобы подчеркнуть символ, который следует, и префикс символов &&& в качестве директивы для печати одного >. При указании DT_NOPREFIX эта обработка отключается. Например:
входная строка: "A&bc&d"
normal: "Abc&d"
DT_NOPREFIX: "A&bc&d"
DT_PATH_ELпакет интерфейса пользователя SIS Заменяет символы в середине текста многоточием, чтобы результат помещался в прямоугольник отображения. Если строка содержит символы обратной косой черты (\), DT_PATH_ELпакет интерфейса пользователя SIS сохраняет как можно больше текста после последней обратной косой черты. Строка не изменяется, если не указан флаг DT_MODIFYSTRING.
DT_PREFIXONLY Рисует только подчеркивание в позиции символа после префикса &. Обычно DrawThemeText интерпретирует и как директиву, чтобы подчеркнуть символ, следующий и префикс &> в качестве директивы для печати одного >. Указывая DT_PREFIXONLY, символы не рисуются, только подчеркивание. Пробелы помещаются в позиции, в которых символы обычно отображаются. Например:
входная строка: "A&bc&d"
normal: "Ab c&d
DT_PREFIXONLY: ""
DT_RIGHT Выравнивает текст справа.
DT_RTLREADING Выкладывает текст в порядке справа налево для двунаправленного текста, например текста в иврите или арабском шрифте. Направление по умолчанию для текста слева направо.
DT_SINGLELINE Отображает текст в одной строке. Возвраты каретки и каналы линий не прерывают линию.
DT_TABSTOP Задает остановки табуляции.
DT_TOP Отрисовывает текст в верхней части прямоугольника отображения.
DT_VCENTER По вертикали по центру текста. Это значение используется только со значением DT_SINGLELINE.
DT_WORDBREAK Разрывает линии между словами, если слово будет расширяться мимо края прямоугольника отображения. Последовательность возврата или линии каретки (CR/LF) также нарушает линию.
DT_WORD_ELLIPSIS Усечение любого слова, которое не помещается в прямоугольник дисплея и добавляет многоточие.