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 | テキストのフォーマット方法を指定します。次表の値を組み合わせて指定します。 |
Value | Description |
DT_BOTTOM | 長方形の下辺にテキストを揃えます。DT_SINGLELINEと同時に指定しなければなりません。 |
DT_CALCRECT | RECT構造体で指定した長方形の幅と高さを、実際にテキストを表示する為に必要な大きさに変更します。テキストは描画しません。 |
DT_CENTER | テキストを水平方向に中央揃えで表示します。 |
DT_EDITCONTROL | 複数行エディットコントロールが持つ属性と同じ特性で描画します。部分的に見えている最後の行は表示しません。 |
DT_END_ELLIPSIS | 指定した長方形に収まるよう、必要に応じてテキストの最後を省略符号(...)に置き換えます。 |
DT_PATH_ELLIPSIS | 指定した長方形に収まるよう、必要に応じてテキストの途中を省略符号(...)に置き換えます。パス名の描画に適しています。 |
DT_EXPANDTABS | タブ文字を展開します。デフォルトのタブ間隔は8文字です。 |
DT_EXTERNALLEADING | 行の高さに、外部レディングの高さ(テキストの行間として適切な高さ)を加算します。通常外部レディングはテキスト行の高さに加えられません。 |
DT_LEFT | テキストを左揃えにします。 |
DT_MODIFYSTRING | lpStringパラメータが指すバッファに、表示された文字列を格納します。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 | テキストを複数行で表示します。折り返しは自動的に行われます。キャリッジリターンやラインフィードの組み合わせによっても折り返されます。 |
Comments