次の方法で共有


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 関数によって設定された文字間の間隔を考慮します。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wingdi.h (Windows.h を含む)
ライブラリ Gdi32.lib
DLL Gdi32.dll

関連項目

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

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

GetTextExtentPoint32 の

SIZE

SetTextCharacterExtra の