EnumFontFamiliesEx |
Declare Function Api_EnumFontFamiliesEx& Lib "gdi32" Alias "EnumFontFamiliesExA" (ByVal hDC&, lpLogFont As LOGFONT, ByVal lpEnumFontProc&, ByVal lParam&, ByVal dw&) |
||||||||||||||||||
Declare Function EnumFontFamiliesEx Lib "gdi32" Alias "EnumFontFamiliesExA" (ByVal hdc As Long, lpLogFont As LOGFONT, ByVal lpEnumFontProc As Long, ByVal lParam As Long, ByVal dw As Long) As Long |
|||||||||||||||||||
構造体で指定された条件に適合するフォントを列挙する。 この列挙は、フォント名と文字セットのいずれか、あるいはその両方を基準に行われる。 |
|||||||||||||||||||
パラメータ
lpEnumFontFamExProc 必ず正しいフォント名をコールバック関数に渡し、それとは別に文字セット値も渡す。フォントの列挙は、構造体の lfCharset メンバと
lfFacename メンバの値に基づいて行われる。 同一フォントのスタイルはすべて同じ文字セットに対応するとは限らない。たとえば、Fontorama の Bold には ANSI、Greek、および Cyrillic の文字が含まれるが、Fontorama の Italic には ANSI 文字しか含まれていない。このため、指定したフォントが特定の文字セット (それが ANSI 文字セットであったとしても)に対応していることを前提とした処理は行わない方がよい。次の表は、lfCharSet メンバーと lfFaceName メンバのさまざまな組み合わせにより結果を示す。
次のサンプルコードは、これらの値の使い方を示す。
構造体にスクリプトフィールドがあることである。 列挙するので注意すること。列挙されたフォントをすべて表示すると、ユーザーにとって不便なほど長いリストになってしまう場合もある。たと えば、Century Schoolbook というフォントは、Baltic、Western、Greek、Turkish、Cyrillic の 5 つの文字セットで列挙される。これを防 ぐには、アプリケーションでフォントのリストにフィルタをかける。 |