EnumFontFamiliesExA 関数 (wingdi.h)
EnumFontFamiliesEx 関数は、LOGFONT 構造体で指定されたフォント特性に一致するシステム内のすべての一意の名前のフォントを列挙します。 EnumFontFamiliesEx
構文
int EnumFontFamiliesExA(
[in] HDC hdc,
[in] LPLOGFONTA lpLogfont,
[in] FONTENUMPROCA lpProc,
[in] LPARAM lParam,
DWORD dwFlags
);
パラメーター
[in] hdc
フォントを列挙するデバイス コンテキストへのハンドル。
[in] lpLogfont
列挙するフォントに関する情報を含む LOGFONT 構造体へのポインター。 この関数は、次のメンバーを調べます。
メンバー | 形容 |
---|---|
lfCharSet を |
DEFAULT_CHARSETに設定すると、関数はすべての文字セット内のすべての一意の名前付きフォントを列挙します。 (同じ名前のフォントが 2 つある場合、列挙されるのは 1 つだけです)。有効な文字セット値に設定すると、指定した文字セット内のフォントのみが列挙されます。 |
lfFaceName を |
空の文字列に設定すると、関数は使用可能な書体名ごとに 1 つのフォントを列挙します。 有効なタイプフェイス名に設定すると、関数は指定された名前を持つすべてのフォントを列挙します。 |
lfPitchAndFamily を |
オペレーティング システムのすべての言語バージョンでは、0 に設定する必要があります。 |
[in] lpProc
アプリケーション定義コールバック関数へのポインター。 詳細については、enumFontFamExProc 関数
[in] lParam
アプリケーション定義値。 この関数は、フォント情報と共にコールバック関数にこの値を渡します。
dwFlags
このパラメーターは使用されず、0 である必要があります。
戻り値
戻り値は、コールバック関数によって返される最後の値です。 この値は、指定したデバイスで使用できるフォント ファミリによって異なります。
備考
EnumFontFamiliesEx 関数では、文字セットを識別するためにタグ付けされた書体名は使用されません。 代わりに、常に正しい書体名と個別の文字セット値がコールバック関数に渡されます。 この関数は、
EnumFontFamilies
価値観 | 意味 |
---|---|
lfCharSet = DEFAULT_CHARSET lfFaceName = '\0' |
すべての文字セット内のすべての一意の名前付きフォントを列挙します。 同じ名前のフォントが 2 つある場合、列挙されるのは 1 つだけです。 |
lfCharSet = DEFAULT_CHARSET lfFaceName = 特定のフォント |
特定のフォント内のすべての文字セットとスタイルを列挙します。 |
lfCharSet = 特定の文字セット lfFaceName = '\0' |
特定の文字セット内のすべてのフォントのすべてのスタイルを列挙します。 |
lfCharSet = 特定の文字セット lfFaceName = 特定のフォント |
特定の文字セット内のフォントのすべてのスタイルを列挙します。 |
次のコード サンプルは、これらの値の使用方法を示しています。
// To enumerate all styles and charsets of all fonts:
lf.lfFaceName[0] = '\0';
lf.lfCharSet = DEFAULT_CHARSET;
HRESULT hr;
// To enumerate all styles and character sets of the Arial font:
hr = StringCchCopy( (LPSTR)lf.lfFaceName, LF_FACESIZE, "Arial" );
if (FAILED(hr))
{
// TODO: write error handler
}
lf.lfCharSet = DEFAULT_CHARSET;
// To enumerate all styles of all fonts for the ANSI character set
lf.lfFaceName[0] = '\0';
lf.lfCharSet = ANSI_CHARSET;
// To enumerate all styles of Arial font that cover the ANSI charset
hr = StringCchCopy( (LPSTR)lf.lfFaceName, LF_FACESIZE, "Arial" );
if (FAILED(hr))
{
// TODO: write error handler
}
lf.lfCharSet = ANSI_CHARSET;
EnumFontFamilies と enumFontFamiliesEx
多くの東アジア言語のフォントには、英語名とローカライズされた名前の 2 つの書体名があります。
SetGraphicsMode 関数を使用してデバイス コンテキストのグラフィックス モードをGM_ADVANCEDに設定し、DEVICE_FONTTYPE フラグを FontType パラメーターに渡すと、この関数はシステム上の型 1 および OpenType フォントの一覧を返します。 グラフィックス モードが GM_ADVANCED に設定されていない場合、この関数はシステム上の 1 型、OpenType フォント、および TrueType フォントの一覧を返します。
手記
wingdi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして EnumFontFamiliesEx を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | wingdi.h (Windows.h を含む) |
ライブラリ | Gdi32.lib |
DLL | Gdi32.dll |
関連項目
EnumFontFamExProc の
EnumFontFamilies を
EnumFonts の
LOGFONT の