Функция DrawTextEx отрисовывает форматированный текст в указанном прямоугольнике.
int DrawTextEx(
HDC hdc, // дескриптор контекста устройства
LPTSTR lpchText, // адрес рисуемой строки
int cchText, // длина строки
LPRECT lprc, // адрес координат прямоугольника
UINT dwDTFormat, // опции форматирования
LPDRAWTEXTPARAMS lpDTParams // адерес структуры с дополнительными опциями
);
Параметры:
hdc | Определяет контекст устройства для рисования в нем. |
lpchText | Адрес строки для ее прорисовки. Строка должна заканчиваться нулем, если параметр cchText равен -1. |
cchText | Указывает размер, в символах, строки lpchText. Если строка заканчивается нулем, этот параметр может быть -1 для подсчета длины. |
lprc | Адрес структуры RECT, которая содержит прямоугольник, в логических координатах, в котором будет форматироваться текст. |
dwDTFormat | Определяет опции форматирования. Этот параметр может принимать одно или комбинацию из этих значений:
Значение: | Описание: |
DT_BOTTOM | Выравнивает текст к основанию прямоугольника, используется только со значеним DT_SINGLELINE. |
DT_CALCRECT | Определяет ширину и высоту прямоугольника. Если имеется несколько строк текста, функция использует ширину прямоугольника, указанного в параметре lprc, и расширяет прямоугольник для включения последней строки текста. Если имеется только одна строка текста, функция изменяет правую сторону прямоугольника для включения в него последнего символа строки. В любом случае функция возвращает высоту отформатированного текста, не не выводит текст. |
DT_CENTER | Центрирует текст горизонтально в прямоугольнике. |
DT_EDITCONTROL | Дублирует характеристики многострочного средства редактирования. |
DT_END_ELLIPSIS или
DT_PATH_ELLIPSIS | Перемещает часть строки с элипсом, если необходимо, так что результат заполняет указанный прямоугольник. Строка не модифицируется без указанного флага DT_MODIFYSTRING. Вы можете указать DT_END_ELLIPSIS для перемещения символов в конец строки, или DT_PATH_ELLIPSIS для перемещения символов в середину строки. Если строк содержит обратный слеш (\), DT_PATH_ELLIPSIS сохраняет сколько возможно текста после последнего обратного слеша. |
DT_EXPANDTABS | Разворачивает символы табуляции. По умолчанию, в символе табуляции задано 8 символов. |
DT_EXTERNALLEADING | Включает внешний шрифт в формировании высоты строки. |
DT_LEFT | Выравнивает текст по левую сторону. |
DT_MODIFYSTRING | Изменяет указанную строку для соответствия отображаемому тексту. Это значение не имеет эффекта без определения флага DT_END_ELLIPSIS или DT_PATH_ELLIPSIS. |
DT_NOCLIP | Выводит текст без отсечения. DrawTextEx иногда работает быстрее, если определен этот флаг. |
DT_NOPREFIX | Выключает отработку префиксных символов (таких, как & и &&). |
DT_RIGHT | Выравнивает текст по правую сторону. |
DT_RTLREADING | Устанавливает обратный порядок чтения, используемые в арабском и еврейском языках. |
DT_SINGLELINE | Отображает текст только в одной строке. |
DT_TABSTOP | Устанавливает символы табуляции. Структура DRAWTEXTPARAMS, на которую указывает параметр lpDTParams, поределяет число средней длины символов табуляции. |
DT_TOP | Выравнивает текст по верху (только однострочный). |
DT_VCENTER | Выравнивает текст вертикально (только однострочный). |
DT_WORDBREAK | Разрывает слова при переносе. |
|
dwDTParams | Адрес структуры DRAWTEXTPARAMS, которая определяет дополнительные опции форматирования. Этот параметр может быть равен NULL. |
Возвращаемые значения:
Если вызов функции успешен, возвращается высота текста.
При ошибке возвращается ноль.
Смотрите также: