Метод ID3DXFont::D rawText
Рисует форматированный текст. Этот метод поддерживает строки ANSI и Юникода.
Синтаксис
INT DrawText(
[in] LPD3DXSPRITE pSprite,
[in] LPCTSTR pString,
[in] INT Count,
[in] LPRECT pRect,
[in] DWORD Format,
[in] D3DCOLOR Color
);
Параметры
-
pSprite [in]
-
Тип: LPD3DXSPRITE
Указатель на объект ID3DXSprite , содержащий строку. Может иметь значение NULL, в этом случае Direct3D отрисовывает строку с собственным объектом спрайта. Чтобы повысить эффективность, следует указать объект спрайта, если метод DrawText вызывается несколько раз в строке.
-
pString [in]
-
Тип: LPCTSTR
Указатель на отрисовываемую строку. Если параметр Count имеет значение -1, строка должна заканчиваться null.
-
Count [in]
-
Тип: INT
Указывает количество знаков в строке. Если аргумент Count равен -1, то параметр pString считается указателем на строку, завершающуюся null, и DrawText вычисляет число символов автоматически.
-
pRect [in]
-
Тип: LPRECT
Указатель на структуру RECT , содержащую прямоугольник в логических координатах, в которых должен быть отформатирован текст. Координатное значение правой стороны прямоугольника должно быть больше, чем значение левой стороны прямоугольника. Точно так же значение координат нижней части должно быть больше, чем у верхнего.
-
Формат [in]
-
Тип: DWORD
Задает метод форматирования текста. Это может быть любое сочетание следующих значений:
Значение Значение - DT_BOTTOM
Оправдывает текст в нижней части прямоугольника. Это значение необходимо объединить с DT_SINGLELINE. - DT_CALCRECT
Определяет ширину и высоту прямоугольника. При наличии нескольких строк текста DrawText использует ширину прямоугольника, на который указывает параметр pRect, и расширяет основание прямоугольника, чтобы привязать последнюю строку текста. Если текст содержит только одну строку, DrawText изменяет правую сторону прямоугольника таким образом, чтобы он граничит с последним символом в строке. В любом случае DrawText возвращает высоту отформатированного текста, но не рисует текст. - DT_CENTER
Центр текста по горизонтали в прямоугольнике. - DT_EXPANDTABS
Расширяет табуляцию. По умолчанию количество символов на шаг табуляции равно восьми. - DT_LEFT
Выравнивает текст по левому краю. - DT_NOCLIP
Рисует без обрезки. Функция DrawText выполняется несколько быстрее при использовании DT_NOCLIP. - DT_RIGHT
Выравнивает текст по правому краю. - DT_RTLREADING
Отображает текст в порядке чтения справа налево для двунаправленного текста при выборе иврита или арабского шрифта. Порядок чтения по умолчанию для всего текста — слева направо. - DT_SINGLELINE
Отображает текст только в одной строке. Возврат каретки и передача строки не прерывают линию. - DT_TOP
Текст с верхним основанием. - DT_VCENTER
Центр текста по вертикали (только в одной строке). - DT_WORDBREAK
Ломает слова. Линии автоматически разбиваются между словами, если слово расширяется за край прямоугольника, заданного параметром pRect. Последовательность возврата каретки или подачи строки также разрывает линию. -
Цвет [in]
-
Тип: D3DCOLOR
Цвет текста. Дополнительные сведения см. в разделе D3DCOLOR.
Возвращаемое значение
Тип: INT
Если функция выполнена успешно, возвращаемым значением будет высота текста в логических единицах. Если указано DT_VCENTER или DT_BOTTOM, возвращаемое значение представляет собой смещение от pRect (сверху вниз) отрисованного текста. Если функция выполняется неудачно, возвращается нулевое значение.
Комментарии
Параметры этого метода очень похожи на параметры функции GDI DrawText .
Этот метод поддерживает как строки ANSI, так и Юникод.
Этот метод должен вызываться внутри BeginScene ... Блок EndScene . Единственным исключением является то, что приложение вызывает DrawText с DT_CALCRECT, чтобы вычислить размер заданного блока текста.
Если не используется формат DT_NOCLIP, этот метод обрезает текст, чтобы он не отображался за пределами указанного прямоугольника. Предполагается, что все форматирование состоит из нескольких строк, если не указан формат DT_SINGLELINE.
Если выделенный шрифт слишком велик для прямоугольника, этот метод не пытается заменить шрифт меньшего размера.
Этот метод поддерживает только шрифты, экранирование и ориентация которых равны нулю.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел