GetTextExtentPointI 関数 (wingdi.h)
GetTextExtentPointI 関数は、グリフ インデックスの指定された配列の幅と高さを計算します。
構文
BOOL GetTextExtentPointI(
[in] HDC hdc,
[in] LPWORD pgiIn,
[in] int cgi,
[out] LPSIZE psize
);
パラメーター
[in] hdc
デバイス コンテキストを処理します。
[in] pgiIn
グリフ インデックスの配列へのポインター。
[in] cgi
グリフ インデックスの数を指定します。
[out] psize
文字列の次元を論理単位で受け取る SIZE 構造体へのポインター。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。
解説
GetTextExtentPointI 関数は、現在選択されているフォントを使用して、グリフ インデックスの配列の次元を計算します。 幅と高さは論理単位で計算され、クリッピングは考慮しません。
この関数がテキストエクステントを返す場合、テキストは水平、つまりエスケープメントは常に 0 であると見なされます。 これは、テキストの水平方向と垂直方向の両方の測定値に当てはまります。 0 以外のエスケープメントを指定するフォントを使用する場合でも、この関数はテキスト範囲を計算するときに角度を使用しません。 アプリは明示的に変換する必要があります。 ただし、グラフィックス モードが GM_ADVANCED に設定されていて、文字の向きが印刷方向から 90 度である場合、この関数が返す値はこの規則に従いません。 指定した文字列の文字の向きと印刷の向きが一致する場合、この関数は SIZE 構造体の文字列の次元を { cx : 116, cy : 18 } として返します。 同じ文字列に対して文字の向きと印刷の向きが 90 度離れている場合、この関数は SIZE 構造体の文字列の次元を { cx : 18, cy : 116 } として返します。
一部のデバイスではカーニング文字があるため、個々のグリフ インデックスのエクステントの合計がグリフ インデックスの配列全体の範囲と等しくない場合があります。
計算される文字列の幅には、 SetTextCharacterExtra 関数によって設定された文字間の間隔が考慮されます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | Gdi32.lib |
[DLL] | Gdi32.dll |