次の方法で共有


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 関数の呼び出しで xy を無視して、代わりに現在位置を使います。

必要条件

**ヘッダー:**afxwin.h

参照

参照

CDC クラス

階層図

CDC::GetTabbedTextExtent

CDC::SetTextAlign

CDC::TextOut

CDC::SetTextColor

TabbedTextOut

CSize クラス

その他の技術情報

CDC のメンバー