### 函数功能

该函数列举系统里所有符合由LOGFONT结构指定的字体特性的字体。此函数基于字样名或字符集或两者来枚举字体。

### 函数原型

int EnumFontFamiliesEx(HDC hdc, LPLOGFONT lpLogfont, FONTENUMPROC lpEnumFontFamExProc, LPARAM lParam, DWORD dwFlags)；

### 参数

hdc：设备环境句柄。
lpLogfont：指向结构LOGFONT的指针，结构里含有要列举字体的信息。此函数检查下列成员：
lfCharset如果设置为DEFAULT_CHARSET，此函数列举所有字符集里的所有字体。如果设置了一个合法字符集值，此函数列举指定字符集里的字体。
lfFaceName如果设置为空串，此函数列举每一个可用字样名的一种字体。如果设置了一个指定的字样名，此函数列举指定名字的所有字体。
LfPitchAndFamily除Hebrew和Arabic以外，对操作系统的所有语言形式都设置为0。对语言而言，给lfPitchAndFamily设置MONO_FONT值只列举那些能在该字体里提供所有代码页字符的字体。
lpEnumFontFamexProc：指向应用程序定义的回调函数的指针，要得到更多的善于回调函数的信息，参见函数EnumFontFamExProc。
lParam：指定一个32位应用程序定义的值，此函数传递此值和字体信息给回调函数。
dwFlags：保留值，必为0。

### 返回值

此返回值是由回调函数返回的最后一个值，此值依赖于提供给指定设备的字体族。
备注：EnumFontFamiliesEx不使用字样名tagged来标识字符集，而改为传递正确的字样名和单独的字符集值给回调函数，此函数基于LOGFONT结构里的lfCharset和lfFacename值来列举字体。
如果lfCharset的值为DEFAULT_CHARSET且lfFaceName是一个空串，则此函数列举为每一个字符集的每个字列举一种字全，如果lfFaceName非空，则此函数无论字符集如何，都列举指定字样里的每一种字体。
如果lfCharset是一个有效的字符集值且lfFaceName是空串，则此函数列举指定字符集的每一种字体。如果lfFaceName非空，则此函数列举有着指定字样和字符集的每一种字体。

### 速查

Windows NT：4.0及以上版本；Windows：95及以上版本；Windows CE：不支持；头文件：wingdi.h；库文件：gdi32.lib；Unicode：在Windows NT环境下以Unicode和ANSI两种方式实现。