Поделиться через


Метод ID3DX10Font::D rawText

Рисование форматированного текста. Этот метод поддерживает строки ANSI и Юникода.

Синтаксис

INT DrawText(
  [in] LPD3DX10SPRITE pSprite,
  [in] LPCTSTR        pString,
  [in] INT            Count,
  [in] LPRECT         pRect,
  [in] UINT           Format,
  [in] D3DXCOLOR      Color
);

Параметры

pSprite [in]

Тип: LPD3DX10SPRITE

Указатель на объект ID3DX10Sprite, содержащий строку, которую вы хотите нарисовать. Может иметь значение NULL, в этом случае Direct3D отрисовывает строку с собственным объектом спрайта. Для повышения эффективности следует указать объект спрайта, если ID3DX10Font::D rawText вызывается несколько раз подряд.

pString [in]

Тип: LPCTSTR

Указатель на отрисовываемую строку. Если определен ЮНИКОД, этот тип параметра разрешается в LPCWSTR, в противном случае тип разрешается в LPCSTR. Если параметр Count имеет значение -1, строка должна быть завершена со значением NULL .

Count [in]

Тип: INT

Количество знаков в строке. Если аргумент Count равен -1, то параметр pString считается указателем на спрайт, содержащий строку, завершающуюся null, и ID3DX10Font::D rawText автоматически вычисляет число символов.

pRect [in]

Тип: LPRECT

Указатель на структуру RECT , содержащую прямоугольник в логических координатах, в которых должен быть отформатирован текст. Как и в случае с любым объектом RECT, значение координат правой стороны прямоугольника должно быть больше, чем значение левой стороны прямоугольника. Точно так же значение координат нижней части должно быть больше, чем у верхнего.

Формат [in]

Тип: UINT

Укажите метод форматирования текста. Это может быть любое сочетание следующих значений:

Элемент Описание
DT_BOTTOM
Оправдывать текст в нижней части прямоугольника. Это значение необходимо объединить с DT_SINGLELINE.
DT_CALCRECT
Попросите DrawText автоматически вычислить ширину и высоту прямоугольника на основе длины строки, которая будет ему показана для рисования. При наличии нескольких строк текста ID3DX10Font::D rawText использует ширину прямоугольника, на который указывает параметр pRect, и расширяет основание прямоугольника, чтобы привязать последнюю строку текста. Если текст содержит только одну строку, ID3DX10Font::D rawText изменяет правую часть прямоугольника таким образом, что он ограничивает последний символ в строке. В любом случае ID3DX10Font::D rawText возвращает высоту отформатированного текста, но не рисует текст.
DT_CENTER
Выравнивание текста по горизонтали в прямоугольнике.
DT_EXPANDTABS
Разверните символы табуляции. По умолчанию количество символов на шаг табуляции равно восьми.
DT_LEFT
Выровнять текст по левому краю.
DT_NOCLIP
Рисование без обрезки. ID3DX10Font::D rawText работает несколько быстрее при использовании DT_NOCLIP.
DT_RIGHT
Выровнять текст по правому краю.
DT_RTLREADING
Отображение текста в порядке чтения справа налево для двунаправленного текста при выборе шрифта на иврите или арабском языке. Порядок чтения по умолчанию для всего текста — слева направо.
DT_SINGLELINE
Отображение текста только в одной строке. Возврат каретки и передача строки не прерывают линию.
DT_TOP
Текст с верхним обоснованием.
DT_VCENTER
Центр текста по вертикали (только одна строка).
DT_WORDBREAK
Разорвать слова. Линии автоматически разбиваются между словами, если слово расширяется за край прямоугольника, заданного параметром pRect. Последовательность возврата каретки или подачи строки также разрывает линию.

 

Цвет [in]

Тип: D3DXCOLOR

Цвет текста. См. раздел D3DXCOLOR.

Возвращаемое значение

Тип: INT

Если функция выполнена успешно, возвращаемым значением будет высота текста в логических единицах. Если указано DT_VCENTER или DT_BOTTOM, возвращаемое значение представляет собой смещение от pRect (сверху вниз) отрисованного текста. Если функция выполняется неудачно, возвращается нулевое значение.

Комментарии

Параметры этого метода очень похожи на параметры функции GDI DrawText .

Этот метод поддерживает как строки ANSI, так и Юникод.

Если не используется формат DT_NOCLIP, этот метод обрезает текст, чтобы он не отображался за пределами указанного прямоугольника. Предполагается, что все форматирование состоит из нескольких строк, если не указан формат DT_SINGLELINE.

Если выделенный шрифт слишком велик для прямоугольника, этот метод не пытается заменить шрифт меньшего размера.

Этот метод поддерживает только шрифты, экранирование и ориентация которых равны нулю.

Требования

Требование Значение
Заголовок
D3DX10.h
Библиотека
D3DX10.lib

См. также раздел

ID3DX10Font

Интерфейсы D3DX