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 は、言語に一致するシステム ロケールでのみローカライズされた書体名を受け取りますが、他のすべてのシステム ロケールでは英語の書体名を受け取ります。 最善の方法は、一方の名前を試し、失敗した場合はもう一方の名前を試してみる方法です。 システム ロケールがフォントの言語と一致しない場合、 EnumFonts、 EnumFontFamilies、 EnumFontFamiliesEx は 英語の書体名を返します。
CreateFont、CreateFontIndirect、CreateFontIndirectEx のフォント マッパーは、ロケールに関係なく、英語とローカライズされた書体名の両方を認識します。
例
例については、「 論理フォントの作成」を参照してください。
注意
wingdi.h ヘッダーは、CreateFontIndirect をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | Gdi32.lib |
[DLL] | Gdi32.dll |