CDC::GetTabbedTextExtent
m_hAttribDCを使用して文字列を計算するには、このメンバー関数を属性デバイス コンテキストの幅と高さを呼び出します。
CSize GetTabbedTextExtent(
LPCTSTR lpszString,
int nCount,
int nTabPositions,
LPINT lpnTabStopPositions
) const;
CSize GetTabbedTextExtent(
const CString& str,
int nTabPositions,
LPINT lpnTabStopPositions
) const;
パラメーター
lpszString
文字列へのポインター。 このパラメーターの CString のオブジェクトを渡すこともできます。nCount
文字列の文字数を指定します。 nCount が 1 の場合、一つは、長さ計算されます。nTabPositions
lpnTabStopPositionsが指す配列のタブ ストップ位置の数を指定します。lpnTabStopPositions
論理単位のタブ ストップ位置を表す整数の配列へのポインター。 タブ位置は昇順に並べ替える必要があります。; 最小値 x は配列の最初の項目必要があります。 [戻る]タブは使用されません。str
描画される指定文字が含まれている CString のオブジェクト。
戻り値
CSize のオブジェクトの文字列のサイズ (論理単位で)。
解説
文字列が一つ以上のタブ文字が含まれている場合は、文字列の幅は lpnTabStopPositionsで指定されたタブ位置に基づいています。 関数は、文字列のサイズを計算するために現在選択されているフォントを使用します。
現在のクリップ領域は GetTabbedTextExtent の関数によって返される幅と高さをオフセットされません。
デバイスが標準のセル (つまり、文字配列をカーニング) に文字が設定されないため、文字列内の文字の範囲の合計は文字列の範囲と異なる場合があります。
nTabPositions が 0、lpnTabStopPositions が nullの場合、タブには、平均文字幅の 8 倍に配置されます。 nTabPositions が 1 の場合、タブ位置は lpnTabStopPositions が指す配列内の最初の値で指定された間隔に分かれます。 単一値の詳細に lpnTabStopPositions が指す配列の各値の場合、タブ位置設定されている場合、nTabPositionsで指定された数まで。
必要条件
ヘッダー: afxwin.h