CDC::TabbedTextOut
タブ ストップ位置の配列内の値に従ってタブを展開しながら、指定された位置に文字列を書き込みます。
virtual CSize TabbedTextOut(
int x,
int y,
LPCTSTR lpszString,
int nCount,
int nTabPositions,
LPINT lpnTabStopPositions,
int nTabOrigin
);
CSize TabbedTextOut(
int x,
int y,
const CString& str,
int nTabPositions,
LPINT lpnTabStopPositions,
int nTabOrigin
);
パラメーター
x
文字列の始点の論理 x 座標。y
文字列の始点の論理 y 座標。lpszString
描画する文字列へのポインター。 このパラメーターには、文字配列へのポインターまたは CStringT クラス オブジェクトを渡すことができます。nCount
文字列内の文字数。 nCount に -1 を指定すると、関数が長さを計算します。nTabPositions
タブ ストップの位置の配列内にある値の数。lpnTabStopPositions
タブ ストップの位置を含む配列 (論理単位)。 各タブ ストップ位置は、昇順に配列に格納されている必要があります。最も小さい x の値が配列の最初の項目になります。nTabOrigin
タブの展開を開始する位置の x 座標 (論理単位)。str
指定した文字列を保持する CString オブジェクト。
戻り値
CSize オブジェクトの形式で、文字列の寸法を (論理単位) で返します。
解説
テキストは、現在選択されているフォントを使って書き込まれます。 nTabPositions が 0 で、lpnTabStopPositions が NULL の場合、タブは平均文字幅の 8 文字分の幅で展開されます。
nTabPositions が 1 のときは、タブ ストップは lpnTabStopPositions が指す配列内の最初の値の間隔で配置されます。 lpnTabStopPositions 配列が複数の値を持つときは、タブ ストップは nTabPositions で指定される数までの、配列内のそれぞれの値に設定されます。 nTabOrigin を使えば、アプリケーションは 1 行に対して TabbedTextOut 関数を何度も呼び出せるようになります。 nTabOrigin を同じ値に設定して関数を何度も呼び出すと、すべてのタブは nTabOrigin の指定した位置から展開されます。
既定では、この関数は現在位置を参照したり、更新したりしません。 関数が呼び出されたときに、アプリケーションで現在位置を更新するときは、SetTextAlign メンバー関数の nFlags を TA_UPDATECP に設定して呼び出します。 このフラグが設定されているときは、Windows は、続く TabbedTextOut 関数の呼び出しで x と y を無視して、代わりに現在位置を使います。
必要条件
**ヘッダー:**afxwin.h