Функции вывода текста

Функция TextOut выводит символьную строку в указанной позиции, соблюдая выбранные атрибуты контекста отображения.

Функция TextOut объявлена следующим образом:

BOOL TextOut(HDC hdc, int nXStart, int nYStart,

LPCTSTR lpString, int cbString);

Параметры этой функции:

- nXStart задает логическую х-координату операции вывода.

- nYStart задает логическую у-координату операции вывода.

- lpString указывает на строку, которая будет выведена.

- cbString равен количеству символов в выводимой строке.

Функция TextOut заданную строку выводит внутри воображаемого прямоугольника, сформированного ячейками символов выводимой строки. Координаты nXStart и nYStart, в зависимости от режима выравнивания, определяют различные точки этого прямоугольника.

Функция SetTextAlign выбирает режим выравнивания текста в контекст отображения:

UINT SetTextAlign(HDC hdc, UINT fMode);

Параметр fMode задает режим выравнивания и определяется при помощи трех групп флагов. Символические имена флагов начинаются с префикса ТА_.

Первая группа флагов отвечает за выравнивание строки по горизонтали:

Флаг Описание
TA_LEFT Выравнивать по левой границе. Координата nXStart определяет левую границу воображаемого прямоугольника. Этот режим выбран по умолчанию
TA_CENTER Выравнивать по центру. Координата nXStart определяет центр воображаемого прямоугольника
TA_RIGHT Выравнивать по правой границе. Координата nXStart определяет правую границу воображаемого прямоугольника

Вторая группа флагов отвечает за выравнивание текста по вертикали:

Флаг Описание
ТА_ТОР Выравнивать по верхней границе. Координата nYStart определяет верхнюю границу воображаемого прямоугольника. Этот режим выбран по умолчанию
TA_BASELINE Выравнивать по базовой линии выбранного шрифта
TA_BOTTOM Выравнивать по нижней границе

Третья группа флагов относится к текущей позиции вывода:

Флаг Описание
TA_NOUPDATECP Не изменять значения текущей позиции вывода текста (используется по умолчанию)
TA_UPDATECP После вывода вычислить новое значение текущей позиции

Из каждой группы флагов используют только один, например:

SetTextAlign(hdc, TA_CENTER | TA_BASELINE | TA_UPDATECP);

Функция SetTextAlign возвращает старое значение режима выравнивания или, в случае ошибки, – GDI_ERROR.

Если задан режим выравнивания TA_UPDATECP, функция TextOut начинает вывод текста с текущей позиции, игнорируя параметры, определяющие расположение текста в окне.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: