指定された長方形の領域内に文字列をフォーマットして表示します。タブの展開や折り返し処理が可能です。
lpStr
nCount
lpRect (ポインタ参照)
dwFormat
戻り値
関数が成功すると描画したテキストの高さが返ります。失敗すると 0 が返ります。
解説
デバイス コンテキストに選択されているフォントで文字列が描画されます。文字色はSetTextColor関数を、背景モード/色はSetBkMode関数、SetBkColor関数を利用して設定しておく必要があります。
環境情報
インクルード ファイル: api_window.sbp 内で定義済み
定義
Declare Function DrawText Lib "user32" Alias "DrawTextA" _
(hdc As HDC, _
lpStr As BytePtr, _
nCount As Long, _
ByRef lpRect As RECT, _
dwFormat As DWord) As Long
hdc
デバイス コンテキストのハンドルを指定します。
文字列へのポインタを指定します。
文字列のバイト数を指定します。lpStrが NULL で終わる文字列であれば、nCountには -1 を指定することもできます。
長方形の領域情報が入った、RECT構造体を指定します。
以下の定数を組み合わせ、任意のフォーマット方式を指定します。
※DT_CALCRECT、DT_EXTERNALLEADING、DT_INTERNAL、DT_NOCLIP、DT_NOPREFIX の各値は、DT_TABSTOP と組み合わせて使うことはできません。定数 説明 DT_BOTTOM 長方形の下辺にテキストを揃えます。DT_SINGLELINEと同時に指定する必要があります。 DT_CALCRECT テキストを表示するために必要な長方形の大きさを lpRect パラメータに格納します。テキストは描画されません。 DT_CENTER テキストを水平方向に中央揃えで表示します。 DT_EDITCONTROL 複数行エディット コントロールがもつ特性と同じ特性で描画を行います。 DT_END_ELLIPSIS 指定した長方形領域にテキストが収まらない場合、テキストの最後を省略符号 (...) に置き換えます。 DT_PATH_ELLIPSIS 指定した長方形領域にテキストが収まらない場合、テキストの途中を省略符号 (...) に置き換えます。 DT_EXPANDTABS タブ文字を展開します。 DT_EXTERNALLEADING 行の高さに、外部レディングの高さ(行間として適当な高さ)を加えます。 DT_LEFT テキストを左揃えにします。 DT_MODIFYSTRING DT_END_ELLIPSIS フラグ、DT_PATH_ELLIPSIS フラグによって変更された文字列をlpStringに格納します。 DT_NOCLIP クリッピングを行わないようにします。 DT_NOPREFIX プリフィックス文字(「&」を次の文字のアンダースコアに置き換える、「&&」を「&」として処理する)の処理を行わないようにします。 DT_RIGHT テキストを右揃えにします。 DT_RTLREADING 右から左に向かってテキストを表示します。ヘブライ語、アラビア語などを表示する場合に利用します。 DT_SINGLELINE テキストを改行せず、一行で表示します。 DT_TABSTOP タブ文字の空白文字数を設定します。このフラグを指定した場合は uFormat パラメータの15ビットから8ビット(下位ワードの上位バイト)で空白文字数を設定します。 DT_TOP 長方形の上辺にテキストを揃えます。DT_SINGLELINEと同時に指定する必要があります。 DT_VCENTER テキストを垂直方向の中央揃えで表示します。DT_SINGLELINEと同時に指定する必要があります。 DT_WORDBREAK テキストを複数行で表示します。折り返しは自動的に行われます。
DLLファイル: user32.dll
DrawTextEx関数、SetTextColor関数、SetBkMode関数、SetBkColor関数