函数功能:该函数列举系统里所有符合由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两种方式实现。