TabbedTextOutW 関数 (winuser.h)
TabbedTextOut 関数は、指定した位置に文字列を書き込み、タブ位置の配列で指定された値にタブを展開します。 テキストは、現在選択されているフォント、背景色、およびテキストの色で書き込まれます。
構文
LONG TabbedTextOutW(
[in] HDC hdc,
[in] int x,
[in] int y,
[in] LPCWSTR lpString,
[in] int chCount,
[in] int nTabPositions,
[in] const INT *lpnTabStopPositions,
[in] int nTabOrigin
);
パラメーター
[in] hdc
デバイス コンテキストへのハンドル。
[in] x
文字列の開始点の x 座標 (論理単位)。
[in] y
文字列の開始点の y 座標 (論理単位)。
[in] lpString
描画する文字列へのポインター。 nCount は文字列の長さを指定するため、文字列を 0 で終える必要はありません。
[in] chCount
lpString が指す文字列の長さ。
[in] nTabPositions
タブ位置の配列内の値の数。
[in] lpnTabStopPositions
タブ位置を含む配列へのポインター (論理単位)。 タブ位置は、昇順で並べ替える必要があります。最小の x 値は配列の最初の項目である必要があります。
[in] nTabOrigin
タブを展開する開始位置の x 座標を論理単位で指定します。
戻り値
関数が成功した場合、戻り値は文字列の論理単位のディメンションです。 高さは高い単語で、幅は下位の単語にあります。
関数が失敗した場合は、0 を返します。
解説
nTabPositions パラメーターが 0 で lpnTabStopPositions パラメーターが NULL の場合、タブは平均文字幅の 8 倍に展開されます。
nTabPositions が 1 の場合、タブ位置は lpnTabStopPositions 配列の最初の値で指定された距離で区切られます。
lpnTabStopPositions 配列に複数の値が含まれている場合、nTabPositions で指定された数まで、配列内の値ごとにタブ位置が設定されます。
nTabOrigin パラメーターを使用すると、アプリケーションは 1 行に対して TabbedTextOut 関数を複数回呼び出すことができます。 アプリケーションが TabbedTextOut を 複数回呼び出し、 nTabOrigin が毎回同じ値に設定されている場合、関数は nTabOrigin で指定された位置を基準にしてすべてのタブを展開します。
既定では、現在の位置は TabbedTextOut 関数では使用または更新されません。 TabbedTextOut を呼び出すときにアプリケーションが現在の位置を更新する必要がある場合、アプリケーションは wFlags パラメーターを TA_UPDATECP に設定して SetTextAlign 関数を呼び出すことができます。 このフラグを設定すると、システムは TabbedTextOut 関数の後続の呼び出しで X パラメーターと Y パラメーターを無視し、代わりに現在位置を使用します。
注意
winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして TabbedTextOut を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-misc-l1-5-1 (Windows 10 バージョン 10.0.14393 で導入) |