タブ ストップ位置の配列内の値に従ってタブを展開しながら、指定された位置に文字列を書き込みます。
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 を無視して、代わりに現在位置を使います。
関連項目
CDC クラス階層図
CDC::GetTabbedTextExtent
CDC::SetTextAlign
CDC::TextOut
CDC::SetTextColor
TabbedTextOut
CSize クラス