18 сент. 2010 г.

DrawTextEx

Функция 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.

Возвращаемые значения:
Если вызов функции успешен, возвращается высота текста.
При ошибке возвращается ноль.
Смотрите также:
DrawState, DRAWTEXTPARAMS