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格式,否則所有格式都會假設有多個行。
如果選取的字型對矩形而言太大,這個方法不會嘗試取代較小的字型。
這個方法只支援逸出和方向都是零的字型。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱