次の方法で共有


CreateFontIndirectA 関数 (wingdi.h)

CreateFontIndirect 関数は、指定された特性を持つ論理フォントを作成します。 その後、任意のデバイス コンテキストの現在のフォントとしてフォントを選択できます。

構文

HFONT CreateFontIndirectA(
  [in] const LOGFONTA *lplf
);

パラメーター

[in] lplf

論理フォントの特性を定義する LOGFONT 構造体へのポインター。

戻り値

関数が成功した場合、戻り値は論理フォントへのハンドルです。

関数が失敗した場合、戻り値は NULL

備考

CreateFontIndirect 関数は、LOGFONT 構造体で指定された特性を持つ論理フォントを作成します。 SelectObject 関数を使用してこのフォントを選択すると、GDI のフォント マッパーは、論理フォントと既存の物理フォントの照合を試みます。 完全一致が見つからない場合は、要求された特性のできるだけ多くが一致する特性を持つ代替手段が提供されます。

OS の異なる言語バージョンで適切なフォントを取得するには、LOGFONT 構造体で目的のフォント特性を持つ EnumFontFamiliesEx 呼び出し、適切なタイプフェイス名を取得し、CreateFont または CreateFontIndirect使用してフォント 作成します。

フォントが不要になったら、DeleteObject 関数を呼び出して削除します。

多くの東アジア言語のフォントには、英語名とローカライズされた名前の 2 つの書体名があります。 CreateFont を し、CreateFontIndirect は、言語に一致するシステム ロケールでのみローカライズされた書体名を取得し、他のすべてのシステム ロケールでは英語の書体名を取得します。 最善の方法は、一方の名前を試し、失敗した場合はもう一方を試してみる方法です。 システム ロケールがフォントの言語と一致しない場合、EnumFontsenumFontFamilies、および EnumFontFamiliesEx は英語の書体名を返します。

CreateFontCreateFontIndirect、および CreateFontIndirectEx のフォント マッパーは、ロケールに関係なく、英語とローカライズされたタイプフェイス名の両方を認識します。

例については、「論理フォントの作成」を参照してください。

手記

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

必要条件

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

関連項目

CreateFont の

CreateFontIndirectEx の

DeleteObject の

EnumFontFamilies の

EnumFontFamiliesEx の

EnumFonts の

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

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

LOGFONT の

SelectObject の