次の方法で共有


GetCharABCWidthsFloatA 関数 (wingdi.h)

GetCharABCWidthsFloat 関数は、現在のフォントから、指定した範囲内の連続する文字の幅を論理単位で取得します。

構文

BOOL GetCharABCWidthsFloatA(
  [in]  HDC        hdc,
  [in]  UINT       iFirst,
  [in]  UINT       iLast,
  [out] LPABCFLOAT lpABC
);

パラメーター

[in] hdc

デバイス コンテキストを処理します。

[in] iFirst

ABC 幅がシークされる連続する文字のグループ内の最初の文字のコード ポイントを指定します。

[in] iLast

ABC 幅がシークされる連続する文字のグループ内の最後の文字のコード ポイントを指定します。 この範囲は包括的です。 指定した最後の文字が指定した最初の文字の前にある場合は、エラーが返されます。

[out] lpABC

文字幅を受け取る ABCFLOAT 構造体の配列へのポインター (論理単位)。

戻り値

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

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

解説

TrueType フォントの幅のみを返す GetCharABCWidths 関数とは異なり、 GetCharABCWidthsFloat 関数は任意のフォントの幅を取得します。 この関数によって返される幅は、IEEE 浮動小数点形式です。

現在のワールドからデバイスへの変換が識別されない場合、デバイス空間内の対応する値が整数である場合でも、返される幅は整数以外の値である可能性があります。

間隔は、グリフを配置する前に現在の位置に追加される距離です。 B の間隔は、グリフの黒い部分の幅です。 C の間隔は、グリフの右側に空白を提供するために現在の位置に追加される距離です。 拡張幅の合計は、A +B+C で指定します。

ABC スペースは、選択したフォントの文字の基本行に沿って測定されます。

既定の文字の ABC 幅は、現在選択されているフォントの範囲外の文字に使用されます。

Note

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

要件

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

関連項目

ABCFLOAT

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

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

GetCharABCWidths

GetCharWidth

GetCharWidthFloat