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

関連項目

フォント関数とテキスト関数

フォントとテキストの概要

GetTextExtentPoint

GetTextExtentPoint32

SIZE

SetTextCharacterExtra