Функция SetTextAlign устанавливает флажки выравнивания текста для заданного контекста устройства.
Синтаксис
UINT SetTextAlign( HDC hdc, // дескриптор DC UINT fMode // параметры выравнивания текста ); |
Параметры
Устанавливает выравнивание текста при помощи использования значений маски в нижеследующем списке. Только один флажок может выбираться из тех, которые влияют на на горизонтальное и вертикальное выравнивание. Кроме того, может выбираться только один из двух флажков, которые видоизменяют текущую позицию.
Значение | Предназначение |
---|---|
TA_BASELINE | Опорная точка находится на базовой линии текста. |
TA_BOTTOM | Опорная точка на нижней кромке рабочего прямоугольника. |
TA_TOP | Опорная точка на верхней кромке рабочего прямоугольника. |
TA_CENTER | Опорная точка выравнивается горизонтально по центру рабочего прямоугольника. |
TA_LEFT | Опорная точка находится на левой кромке рабочего прямоугольника. |
TA_RIGHT | Опорная точка находится на правой кромке рабочего прямоугольника. |
TA_RTLREADING | Редакция Windows на языках Ближнего Востока: Текст размечается для порядка чтения справа налево , в противоположность порядку чтения по умолчанию слева направо. Это применяется только тогда, когда шрифт, выбранный в контекст устройства предназначен или для Еврейского или для Арабского языка. |
TA_NOUPDATECP | Текущая позиция не модифицируется после каждого вызова вывода текста. Опорная точка передается в функцию вывода текста. |
TA_UPDATECP | Текущая позиция модифицируется после каждого вызова вывода текста. Текущая позиция используется как опорная точка. |
Когда текущий шрифт имеет вертикальную заданную по умолчанию базовую линию (такой как Kanji), вместо TA_BASELINE и TA_CENTER должны быть использованы нижеследующие значения.
Значение | Предназначение |
---|---|
VTA_BASELINE | Опорная точка находится на базовой линии текста. |
VTA_CENTER | Опорная точка выравнивается вертикально по центру рабочего прямоугольника. |
Значения по умолчанию - TA_LEFT, TA_TOP и TA_NOUPDATECP.
Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - предшествующая настройка выравнивания текста.
Если функция завершается с ошибкой, возвращаемое значение - GDI_ERROR.
Windows NT/2000/XP: Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError .
Замечания
Функции TextOut и ExtTextOut используют флажки выравнивания текста, чтобы расположить строку текста на экране или другом устройстве. Флажки устанавливают соотношение между опорной точкой и прямоугольником, который ограничивает текст. Опорная точка является или текущей позицией, или точкой переданной в функцию вывода текста.
Прямоугольник, который ограничивает текст, сформирован символьными знакоместами в текстовой строке.
Самый лучший способ получить выровненный по левой границе текст должен использоваться так
SetTextAlign (hdc, GetTextAlign(hdc) & (~TA_CENTER)) |
– или –
SetTextAlign (hdc,TA_LEFT | <other flags>) |
Для этой цели вы можете также использовать SetTextAlign (hdc, TA_LEFT), но этот способ теряет любые вертикальные или справа налево параметры настройки.
Обратите внимание! на то, что Вам не следует использовать функцию SetTextAlign с флажком TA_UPDATECP, когда Вы используете функцию ScriptStringOut, потому что выбранный текст не формирует правильного изображения . Если Вы должны использовать этот флажок, то можете не устанавливать и сбрасывать это по мере необходимости, чтобы избежать проблемы. |
Код примера
Пример смотри в статье Параметры выравнивания текста.
Смотри также
Обзор шрифты и текст , Функции, используемые шрифтами и текстом , ExtTextOut, GetTextAlign, ScriptStringOut, TextOut
Размещение и совместимость SetTextAlign |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Gdi32.lib |
Заголовочный файл |
|
- объявлено в |
Wingdi.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |