Share via


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 會使用自己的 Sprite 物件來轉譯字串。 若要提升效率,如果在資料列中呼叫 ID3DX10Font::D rawText,則應指定 sprite 物件。

pString [in]

類型: LPCTSTR

要繪製之字串的指標。 如果定義 UNICODE,此參數類型會解析為 LPCWSTR,否則類型會解析為 LPCSTR。 如果 Count 參數為 -1,字串必須 以 Null 終止。

計數 [in]

類型: INT

字串中的字元數。 如果 Count 為 -1,則會假設 pString 參數是 Sprite 的指標,其中包含 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
不裁剪繪製。 使用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格式,否則所有格式都會假設有多個行。

如果選取的字型對矩形而言太大,這個方法不會嘗試取代較小的字型。

這個方法只支援逸出和方向都是零的字型。

規格需求

需求
標頭
D3DX10.h
程式庫
D3DX10.lib

另請參閱

ID3DX10Font

D3DX 介面