ID3DXFont::D rawText 方法

绘制带格式的文本。 此方法支持 ANSI 和 Unicode 字符串。

语法

INT DrawText(
  [in] LPD3DXSPRITE pSprite,
  [in] LPCTSTR      pString,
  [in] INT          Count,
  [in] LPRECT       pRect,
  [in] DWORD        Format,
  [in] D3DCOLOR     Color
);

参数

pSprite []

类型 :LPD3DXSPRITE

指向包含字符串 的 ID3DXSprite 对象的指针。 可以是 NULL, 在这种情况下,Direct3D 将呈现具有其自己的子画面对象的字符串。 若要提高效率,如果要在行中多次调用 DrawText, 应指定子画面对象。

pString []

类型 :LPCTSTR

指向要绘制的字符串的指针。 如果 Count 参数为 -1,则字符串必须以 null 结尾。

计数 []

类型 :INT

指定字符串中的字符数。 如果 Count 为 -1,则假定 pString 参数是指向以 null 结尾的字符串的指针 ,DrawText 会自动计算字符计数。

pRect []

类型 :LPRECT

指向包含矩形的 RECT 结构(以逻辑坐标表示)的指针,文本将在其中设置格式。 矩形的右侧坐标值必须大于其左侧的坐标值。 同样,底部的坐标值必须大于顶部的坐标值。

格式 []

类型 :DWORD

指定设置文本格式的方法。 它可以是以下值的任意组合:

含义
DT _ BOTTOM
使文本位于矩形底部。 此值必须与 DT _ SINGLELINE 结合使用。
DT _ CALCRECT
确定矩形的宽度和高度。 如果有多个文本行 ,DrawText 将使用 pRect 参数指向的矩形的宽度,并扩展矩形的基以绑定最后一行文本。 如果只有一行文本, 则 DrawText 将修改矩形的右侧,以便它绑定该行中的最后一个字符。 在任一情况下 ,DrawText 都返回格式化文本的高度,但不绘制文本。
DT _ CENTER
在矩形中水平放置文本。
DT _ EXPANDTABS
扩展制表符。 每个制表符的默认字符数是 8。
DT _ LEFT
将文本向左对齐。
DT _ NOCLIP
绘制时不进行剪辑。 使用 DT NOCLIP 时 ,DrawText _ 要快一些。
DT _ RIGHT
将文本对齐到右侧。
DT _ RTLREADING
选择希伯来语或阿拉伯语字体时,按双向文本的从右到左阅读顺序显示文本。 所有文本的默认阅读顺序都是从左到右。
DT _ SINGLELINE
仅显示单行文本。 回车符和换行符不会中断行。
DT _ TOP
顶部文本。
DT _ VCENTER
将文本垂直居中 (一行) 。
DT _ WORDBREAK
断字。 如果单词将超出 pRect 参数指定的矩形的边缘,则单词之间的行将自动断开。 回车符/换行符序列也会中断该行。

颜色 []

类型 :D3DCOLOR

文本的颜色。 有关详细信息,请参阅 D3DCOLOR

返回值

类型 :INT

如果函数成功,则返回值是文本的高度(以逻辑单位为单位)。 如果指定了 DT VCENTER 或 DT BOTTOM,则返回值是 pRect 与所绘制文本 (从上到下) _ _ 偏移量。 如果函数失败,则返回值为零。

备注

此方法的参数与 GDI DrawText 函数的参数非常相似。

此方法支持 ANSI 和 Unicode 字符串。

必须在 BeginScene ... 中调用此方法EndScene 块。 唯一的例外是应用程序使用 DT CALCRECT 调用 DrawText 来计算 _ 给定文本块的大小。

除非使用 DT NOCLIP 格式,否则此方法将剪辑文本, _ 使文本不会出现在指定的矩形之外。 除非指定了 DT SINGLELINE 格式,否则所有格式设置都假定 _ 具有多行。

如果所选字体对于矩形来说太大,则此方法不会尝试替换较小的字体。

此方法仅支持转义和方向都为零的字体。

要求

要求 Value
标头
D3dx9core.h

D3dx9.lib

请参阅

ID3DXFont