次の方法で共有


CDC::GetOutputTabbedTextExtent

m_hDCを使用して文字列を計算するには、このメンバー関数を出力デバイス コンテキストの幅と高さを呼び出します。

CSize GetOutputTabbedTextExtent(
   LPCTSTR lpszString,
   int nCount,
   int nTabPositions,
   LPINT lpnTabStopPositions 
) const;
CSize GetOutputTabbedTextExtent(
   const CString& str,
   int nTabPositions,
   LPINT lpnTabStopPositions 
) const;

パラメーター

  • lpszString
    測定する文字列へのポインター。このパラメーターの CString のオブジェクトを渡すこともできます。

  • nCount
    文字列の文字数を指定します。nCount が 1 の場合、一つは、長さ計算されます。

  • nTabPositions
    lpnTabStopPositionsが指す配列のタブ ストップ位置の数を指定します。

  • lpnTabStopPositions
    論理単位のタブ ストップ位置を表す整数の配列へのポインター。タブ位置は昇順に並べ替える必要があります。; 最小値 x は配列の最初の項目必要があります。[戻る]タブは使用されません。

  • str
    測定する指定文字が含まれている CString のオブジェクト。

戻り値

CSize のオブジェクトの文字列のサイズ (論理単位で)。

解説

文字列が一つ以上のタブ文字が含まれている場合は、文字列の幅は lpnTabStopPositionsで指定されたタブ位置に基づいています。関数は、文字列のサイズを計算するために現在選択されているフォントを使用します。

現在のクリップ領域は GetOutputTabbedTextExtent の関数によって返される幅と高さをオフセットされません。

デバイスが標準のセル (つまり、文字配列をカーニング) に文字が設定されないため、文字列内の文字の範囲の合計は文字列の範囲と異なる場合があります。

nTabPositions が 0、lpnTabStopPositions が nullの場合、タブは 8 種類の平均文字幅に配置されます。nTabPositions が 1 の場合、タブ位置は lpnTabStopPositions が指す配列内の最初の値で指定された間隔に分かれます。単一値の詳細に lpnTabStopPositions が指す配列の各値の場合、タブ位置設定されている場合、nTabPositionsで指定された数まで。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CDC クラス

階層図

CDC::GetTextExtent

CDC::m_hAttribDC

CDC::m_hDC

CDC::GetTabbedTextExtent

CDC::GetOutputTextExtent

CDC::TabbedTextOut

GetTabbedTextExtent

CSize クラス