Метод 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.
Если выделенный шрифт слишком велик для прямоугольника, этот метод не пытается заменить шрифт меньшего размера.
Этот метод поддерживает только шрифты, экранирование и ориентация которых равны нулю.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел