ID3DX10Font::D rawText 方法

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

语法

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

指向要绘制的字符串的指针。 如果定义了 UNICODE,此参数类型将解析为 LPCWSTR,否则,该类型解析为 LPCSTR。 如果 Count 参数为 -1,则字符串必须以 NULL 结尾。

计数 [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
展开制表符。 每个制表符的默认字符数是 8。
DT_LEFT
将文本对齐到左侧。
DT_NOCLIP
不剪裁绘制。 使用 DT_NOCLIP时,ID3DX10Font::D rawText 的速度更快。
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 和 Unicode 字符串。

除非使用了DT_NOCLIP格式,否则此方法会剪辑文本,使其不会出现在指定矩形之外。 除非指定了DT_SINGLELINE格式,否则所有格式都假定具有多个行。

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

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

要求

要求 Value
标头
D3DX10.h

D3DX10.lib

另请参阅

ID3DX10Font

D3DX 接口