原文链接 -> 传送门
函数功能:
EnumFontFamilies 函数用于列举指定设备环境下的指定字体族里的字体。
注意:此函数仍然可用只是为了兼容 16 位版本的 Windows。新应用程序应该使用 EnumFontFamiliesEx 函数代替。
API 函数原型:
注释:_In_ 说明该参数是输入的。
int EnumFontFamilies( _In_ HDC hdc, _In_ LPCTSTR lpszFamily, _In_ FONTENUMPROC lpEnumFontFamProc, _In_ LPARAM lParam );
参数解析:
|
参数 |
含义 |
|
hdc |
指定从中枚举字体的设备环境句柄 |
|
lpszFamily |
1. 指向以 NULL 结尾的字符串的指针,该字符串指定目标字体族的名字 |
|
lpEnumFontFamProc |
指向应用程序自定义的回调函数的指针。更多信息,查看 EnumFontFamProc 函数 |
|
lParam |
指向应用程序供给的数据的指针,该数据和字体信息一起传给回调函数 |
返回值:
返回值是由回调函数返回的最后一个值。其含义是由应用程序定义的。
备注:
1. 对每一种由 lpszFamily 参数指定的字样名的字体,EnumFontFamilies 函数获取此字体的信息,并将其传给由 pEnumFontFamProc 参数指向的函数。应用程序定义的回调函数可按期望处理这些字体信息,当再没有有效字体或回调函数返回零时,列举才停止。
2. 当使用 SetGraphicsMode 函数将设备环境的图形模式设置为 GM_ADVANCED,且DEVICE_FONTTYPE 标志传递给 FontType 参数时,此函数返回类型 1 和系统上的 OpenType 字体。当图形模式未设置为 GM_ADVANCED 时,此函数返回一个列表的类型 1、系统上的 OpenType 和 TrueType 字体。
3. 对于许多东亚语言字体有两个字体名称:英文名称和本地化的名称。如果系统区域设置与字体的语言不匹配,EnumFonts、 EnumFontFamilies 和 EnumFontFamiliesEx 函数返回英文字体名称。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Wingdi.h (包含于 Windows.h) |
|
Library |
Gdi32.lib |
|
DLL |
Gdi32.dll |
|
Unicode and ANSI names |
EnumFontFamiliesW (Unicode) 和 EnumFontFamiliesA (ANSI) |




