<Return[G]><Top>

GetTabbedTextExtent

Declare Function Api_GetTabbedTextExtent& Lib "user32" Alias "GetTabbedTextExtentA" (ByVal hDC&, ByVal lpString$, ByVal nCount&, ByVal nTabPositions&, lpnTabStopPositions&)

Declare Function GetTabbedTextExtent Lib "user32" Alias "GetTabbedTextExtentA" (ByVal hdc As Long, ByVal lpString As String, ByVal nCount As Long, ByVal nTabPositions As Long, lpnTabStopPositions As Long) As Long

文字列の幅と高さを計算する。文字列にタブ文字が含まれているときは、指定されたタブストップを考慮して文字幅を計算する。GetTabbedTextExtent 関数は、現在選択されているフォントを使って文字列のサイズを計算する。

パラメータ

hDC
    デバイスコンテキストのハンドルを指定する。
lpString
    文字列へのポインタを指定する。
nCount
    文字列の文字数を指定する。
    Windows 95/98:8192 より大きい値は指定できない。
nTabPositions
    lpnTabStopPositions パラメータが指す配列に入っているタブストップ位置の数を指定する。
lpnTabStopPositions
    各タブストップの位置が入った配列へのポインタを指定する。タブストップの位置は、デバイス単位で昇順に(x 値の最も小さいものが先頭にく

    るように)格納する。

戻り値
    関数が成功すると、文字列の幅と高さが返る。戻り値の上位ワードが高さを、下位ワードが幅を示す。
    関数が失敗すると、0 が返る。GetTabbedTextExtent 関数が失敗するのは、hDC パラメータに無効なハンドルを指定した場合や、

    nTabPositions パラメータに負の値を指定した場合である。
    Windows NT/2000:拡張エラー情報を取得するには、 関数を使う。

解説
    クリッピング領域の設定は、戻り値の幅と高さに影響を与えない。
    デバイスの中には、通常のセル配列に文字を配置しないデバイス(すなわちカーニングを実行するデバイス)もあるため、文字列内の個々の文

    字のサイズの総計と文字列全体のサイズとが一致しないことがある。
    nTabPositions パラメータに 0 を、lpnTabStopPositions パラメータに NULL を指定すると、タブは平均文字幅の 8 倍に展開される。
    nTabPositions パラメータに 1 を指定すると、タブストップは lpnTabStopPositions パラメータが指す配列の最初の要素の値が示す間隔に

    分割される。