次の方法で共有


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 は独自のスプライト オブジェクトを使用して文字列をレンダリングします。 効率を向上させるために、 DrawText を 1 行に複数回呼び出す場合は、スプライト オブジェクトを指定する必要があります。

pString [in]

種類: LPCTSTR

描画する文字列へのポインター。 Count パラメーターが -1 の場合、文字列は null で終わる必要があります。

Count [in]

型: INT

文字列の文字数を指定します。 Count が -1 の場合、pString パラメーターは null で終わる文字列へのポインターであると見なされ、 DrawText によって文字数が自動的に計算されます。

pRect [in]

種類: LPRECT

テキストを書式設定する四角形を論理座標で含む RECT 構造体へのポインター。 四角形の右側の座標値は、左側の座標よりも大きくする必要があります。 同様に、下部の座標値は上の座標よりも大きくする必要があります。

書式 [入力]

型: DWORD

テキストの書式設定方法を指定します。 次の値を任意に組み合わせて使用できます。

説明
DT_BOTTOM
テキストを四角形の下部に揃えます。 この値は、DT_SINGLELINEと組み合わせる必要があります。
DT_CALCRECT
四角形の幅と高さを決定します。 複数行のテキストがある場合、 DrawText は pRect パラメーターが指す四角形の幅を使用し、四角形の底を拡張してテキストの最後の行を連結します。 テキストの行が 1 行しかない場合、 DrawText は四角形の右側を変更して、行の最後の文字を囲みます。 いずれの場合も、 DrawText は書式設定されたテキストの高さを返しますが、テキストは描画しません。
DT_CENTER
四角形内のテキストを水平方向に中央揃えします。
DT_EXPANDTABS
タブ文字を拡張します。 タブごとの既定の文字数は 8 文字です。
DT_LEFT
テキストを左揃えにします。
DT_NOCLIP
クリッピングなしで描画します。 drawText は、DT_NOCLIPを使用するとやや高速になります。
DT_RIGHT
テキストを右揃えにします。
DT_RTLREADING
ヘブライ語またはアラビア語のフォントが選択されている場合に、双方向テキストのテキストを右から左に読み取る順序で表示します。 すべてのテキストの既定の読み取り順序は左から右です。
DT_SINGLELINE
1 行のみにテキストを表示します。 キャリッジ リターンとライン フィードは、改行しません。
DT_TOP
テキストを上揃えします。
DT_VCENTER
テキストを垂直方向に中央揃えします (1 行のみ)。
DT_WORDBREAK
単語を区切ります。 単語が pRect パラメーターで指定された四角形の端を越えて伸びる場合、単語間で行が自動的に分割されます。 キャリッジ リターン/ライン フィード シーケンスも改行します。

 

[入力]

種類: D3DCOLOR

テキストの色。 詳細については、「 D3DCOLOR」を参照してください。

戻り値

型: INT

関数が成功した場合、戻り値は論理単位でのテキストの高さになります。 DT_VCENTERまたはDT_BOTTOMが指定されている場合、戻り値は描画されたテキストの pRect (上から下) からのオフセットです。 関数が失敗した場合は、0 を返します。

解説

このメソッドのパラメーターは、GDI DrawText 関数のパラメーターによく似ています。

このメソッドは、ANSI 文字列と Unicode 文字列の両方をサポートしています。

このメソッドは、 BeginScene ... 内で呼び出す必要があります。 EndScene ブロック。 唯一の例外は、アプリケーションが DT_CALCRECT を使用して DrawText を呼び出して、特定のテキスト ブロックのサイズを計算する場合です。

DT_NOCLIP形式を使用しない限り、このメソッドは、指定した四角形の外側に表示されないようにテキストをクリップします。 DT_SINGLELINE形式を指定しない限り、すべての書式は複数行であると見なされます。

選択したフォントが四角形に対して大きすぎる場合、このメソッドは小さいフォントを置き換えようとしません。

このメソッドは、エスケープメントと方向の両方が 0 であるフォントのみをサポートします。

要件

要件
ヘッダー
D3dx9core.h
ライブラリ
D3dx9.lib

関連項目

ID3DXFont