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 [in]
-
類型: LPD3DXSPRITE
包含字串的 ID3DXSprite 物件的指標。 可以是 Null,在此情況下,Direct3D 會以自己的 Sprite 物件轉譯字串。 為了提升效率,如果 DrawText 在資料列中多次呼叫 DrawText ,就應該指定 sprite 物件。
-
pString [in]
-
類型: LPCTSTR
要繪製之字串的指標。 如果 Count 參數是 -1,字串必須以 Null 結束。
-
計數 [in]
-
類型: INT
指定字串中的字元數。 如果 Count 是 -1,則會假設 pString 參數是 Null 終止字串的指標, 而 DrawText 會自動計算字元計數。
-
pRect [in]
-
類型: LPRECT
RECT結構的指標,其中包含要格式化文字之邏輯座標中的矩形。 矩形右側的座標值必須大於其左側的座標值。 同樣地,底部的座標值必須大於頂端的座標值。
-
格式 [in]
-
類型: DWORD
指定格式化文字的方法。 它可以是下列值的任何組合:
值 意義 - DT_BOTTOM
對齊矩形底部的文字。 此值必須與DT_SINGLELINE結合。 - DT_CALCRECT
決定矩形的寬度和高度。 如果有多行文字, DrawText 會使用 pRect 參數指向的矩形寬度,並將矩形的基底延伸至系結最後一行文字。 如果只有一行文字, DrawText 會修改矩形右側,使其系結該行的最後一個字元。 在這兩種情況下, DrawText 會傳回格式化文字的高度,但不會繪製文字。 - DT_CENTER
將矩形中的文字水準置中。 - DT_EXPANDTABS
展開定位字元。 每個定位預設有八個字元。 - DT_LEFT
將文字靠左對齊。 - DT_NOCLIP
不裁剪的繪製。 使用DT_NOCLIP時,DrawText會稍微快一點。 - DT_RIGHT
將文字靠右對齊。 - DT_RTLREADING
選取希伯來文或阿拉伯文字型時,以從右至左的讀取順序顯示文字。 所有文字的預設讀取順序都是由左至右。 - DT_SINGLELINE
只顯示單行上的文字。 歸位字元和換行字元不會中斷行。 - DT_TOP
靠上對齊文字。 - DT_VCENTER
將文字垂直置中 (單行) 。 - DT_WORDBREAK
中斷單字。 如果單字會延伸超過 pRect 參數所指定矩形的邊緣,則文字之間的行會自動中斷。 歸位字元/換行順序也會中斷行。 -
色彩 [in]
-
類型: D3DCOLOR
文字的色彩。 如需詳細資訊,請參閱 D3DCOLOR。
傳回值
類型: INT
如果函式成功,則傳回值是邏輯單元中的文字高度。 如果指定DT_VCENTER或DT_BOTTOM,則傳回值是從 pRect (頂端到所繪製文字底部) 的位移。 如果此函式失敗,則傳回值為零。
備註
這個方法的參數與 GDI DrawText 函式的參數非常類似。
這個方法同時支援 ANSI 和 Unicode 字串。
這個方法必須在 BeginScene ... 內呼叫 EndScene 區塊。 唯一的例外狀況是應用程式呼叫具有DT_CALCRECT的 DrawText ,以計算指定文字區塊的大小。
除非使用DT_NOCLIP格式,否則此方法會裁剪文字,使其不會出現在指定的矩形外。 除非指定DT_SINGLELINE格式,否則所有格式都會假設有多個行。
如果選取的字型對矩形太大,這個方法不會嘗試取代較小的字型。
這個方法只支援逸出和方向為零的字型。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱