DrawText()関数


int DrawText(
 HDC hDC,
 LPCTSTR lpString,
 int nCount,
 LPRECT lpRect,
 UINT uFormat
);

テキストは、デバイスコンテキストで選択されているフォント、色、背景色で描画されます。
DrawText()関数は文字列を整形して描画するため、TextOut関数に比べて速度は遅くなります。

hDCデバイスコンテキストのハンドル
lpString描画する文字列へのポインタを指定します。
nCountが-1の場合は、NULLで終わる文字列へのポインタを指定する必要があります。
nCount文字列の文字数。
lpStringパラメータでNULLで終わる文字列を指定している時は、-1が指定できます。この場合、文字列の長さは自動的に計算されます。
lpRect長方形の論理座標が入ったRECT構造体へのポインタを指定。テキストは、この長方形内でフォーマットされます。(DT_NOCLIP指定時を除く)
uFormatテキストのフォーマット方法を指定します。次表の値を組み合わせて指定します。


ValueDescription
DT_BOTTOM長方形の下辺にテキストを揃えます。DT_SINGLELINEと同時に指定しなければなりません。
DT_CALCRECTRECT構造体で指定した長方形の幅と高さを、実際にテキストを表示する為に必要な大きさに変更します。テキストは描画しません。
DT_CENTERテキストを水平方向に中央揃えで表示します。
DT_EDITCONTROL複数行エディットコントロールが持つ属性と同じ特性で描画します。部分的に見えている最後の行は表示しません。
DT_END_ELLIPSIS指定した長方形に収まるよう、必要に応じてテキストの最後を省略符号(...)に置き換えます。
DT_PATH_ELLIPSIS指定した長方形に収まるよう、必要に応じてテキストの途中を省略符号(...)に置き換えます。パス名の描画に適しています。
DT_EXPANDTABSタブ文字を展開します。デフォルトのタブ間隔は8文字です。
DT_EXTERNALLEADING行の高さに、外部レディングの高さ(テキストの行間として適切な高さ)を加算します。通常外部レディングはテキスト行の高さに加えられません。
DT_LEFTテキストを左揃えにします。
DT_MODIFYSTRINGlpStringパラメータが指すバッファに、表示された文字列を格納します。DT_END_ELLIPSISかDT_PATH_ELLIPSISを指定した時にしか意味を持ちません。
DT_NOCLIPクリッピングをしません。描画が多少速くなります。
DT_RIGHTテキストを右揃えにします。
DT_SINGLELINEテキストを単一行で表示します。たとえ、テキストがキャリッジリターンやラインフィードを含んでいても、改行されません。
DT_TABSTOPタブ間隔を設定します。この値を指定した時は、uFormatパラメータの15ビットから8ビット(下位ワードの上位バイト)で、タブ間隔の文字数を指定します。デフォルトの文字間隔は8文字です。
DT_TOP長方形の上辺にテキストを揃えます。(単一行の時のみ)
DT_VCENTERテキストを垂直方向に中央揃えで表示します。DT_SINGLELINEと同時に指定しなければなりません。
DT_WORDBREAKテキストを複数行で表示します。折り返しは自動的に行われます。キャリッジリターンやラインフィードの組み合わせによっても折り返されます。
Windows > グラフィック | comments (0) | trackbacks (0)

Comments

Comment Form

icons:

Trackbacks