GetTextExtentPointA 関数 (wingdi.h)

GetTextExtentPoint 関数は、指定した文字列の幅と高さを計算します。

メモ この関数は、16 ビット バージョンの Windows との互換性のためにのみ提供されます。 アプリケーションでは、より正確な結果を提供する GetTextExtentPoint32 関数を呼び出す必要があります。
 

構文

BOOL GetTextExtentPointA(
  [in]  HDC    hdc,
  [in]  LPCSTR lpString,
  [in]  int    c,
  [out] LPSIZE lpsz
);

パラメーター

[in] hdc

デバイス コンテキストへのハンドル。

[in] lpString

テキストを指定する文字列へのポインター。 cbString は文字列の長さを指定するため、文字列は 0 で終わる必要はありません。

[in] c

lpString が指す文字列の長さ

[out] lpsz

文字列の次元を論理単位で受け取る SIZE 構造体へのポインター。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。

解説

GetTextExtentPoint 関数は、現在選択されているフォントを使用して文字列のディメンションを計算します。 幅と高さは論理単位で計算され、クリッピングは考慮しません。 また、この関数は、テキストが水平方向、つまりエスケープメントが常に 0 であることを前提としています。 これは、テキストの水平方向と垂直方向の両方の測定値に当てはまります。 0 以外のエスケープメントを指定するフォントを使用している場合でも、この関数はテキスト範囲の計算中に角度を使用しません。 アプリケーションでは、明示的に変換する必要があります。

一部のデバイスではカーニング文字があるため、文字列内の文字のエクステントの合計が文字列のエクステントと等しくない場合があります。

計算される文字列の幅には、 SetTextCharacterExtra 関数によって設定された文字間の間隔が考慮されます。

Note

wingdi.h ヘッダーは、GetTextExtentPoint をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

関連項目

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

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

GetTextExtentPoint32

SIZE

SetTextCharacterExtra