EnumFontFamProc
注:本文档由 CET-6-WPW 翻译,小甲鱼校对。原文链接 -> 传送门
函数功能:
EnumFontFamProc 函数是应用程序定义的回调函数,和 EnumFontFamilies 函数一起使用。它接收描述可用字体的数据。FONTENUMPROC 类型定义此回调函数的指针。EnumFontFamProc 函数是作为应用程序自定义的函数名称的占位符。
注意:EnumFontFamilies 函数只供与 16 位版本的 Windows 的兼容性。新应用程序应使用 EnumFontFamiliesEx 函数。
API 函数原型:
注释:_In_ 说明该参数是输入的。
int CALLBACK EnumFontFamProc(
_In_ ENUMLOGFONT *lpelf,
_In_ NEWTEXTMETRIC *lpntm,
_In_ DWORD FontType,
_In_ LPARAM lParam
);
参数解析:
参数 含义
lpelf1. 指向包含有关逻辑属性的字体信息的 ENUMLOGFONT 结构的指针。该结构是本地定义的。
2. 该参数也可以指向一个 ENUMLOGFONTEXDV 结构
lpntm1. 如果该字体为 TrueType 字体,那么这个参数是指向 NEWTEXTMETRIC 结构的指针,该结构包含字体的物理属性的信息。如果字体不是 TrueType 字体,则此参数是指向 TEXTMETRIC 结构的指针
2. 该参数也可以指向一个 ENUMTEXTMETRIC 结构
FontType指定字体的类型,此参数可以是下列值的组合:
[*]DEVICE_FONTTYPE
[*]RASTER_FONTTYPE
[*]TRUETYPE_FONTTYPE
lParam指向由 EnumFontFamilies 函数传递来的应用程序自定义数据的指针
返回值:
1. 返回值必须是一个非 0 的值,以继续枚举;
2. 若要停止枚举,返回值必须为 0。
备注:
1. 应用程序必须注册此回调函数,通过将它的地址传递给 EnumFontFamilies 函数来完成注册。
2. 当使用 SetGraphicsMode 函数将设备环境的图形模式设置为 GM_ADVANCED,且 DEVICE_FONTTYPE 标志传递给 FontType 参数时,此函数返回类型 1 和系统上的 OpenType 字体。当图形模式未设置为 GM_ADVANCED 时,此函数返回一个列表的类型 1、系统上的 OpenType 和 TrueType 字体。
3. RASTER_FONTTYPE,DEVICE_FONTTYPE 和 TRUETYPE_FONTTYPE 可用与操作符(&)连接起来,用于决定字体的类型。如果 RASTER_FONTTYPE 位被设置,则该字体是一种光栅字体。如果 TRUETYPE_FONTTYPE 位被设置,该字体是一种 TrueType 字体。如果上述两位都未被设置,则该字体是一种向量字体。当一种设备(如激光打印机)支持下载 TrueType 字体或该字体是一种驻留设备的字体,则 DEVICE_FONTTYPE 位被设置,当设备是一种显示设备、点阵打印机或其他光栅设备,则该位为 0。应用程序也可用 DEVICE_FONTTYPE 来区别图形设备接口(GDI)提供的光栅字体和设备提供的字体。GDI 可以为 GDI 提供的光栅字体模拟粗体、斜体、下划线和删除线属性,但却不支持设备提供的字体。
需求:
Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Wingdi.h (包含于 Windows.h)
Unicode and ANSI namesEnumFontFamProcW (Unicode) 和 EnumFontFamProcA (ANSI)
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
页:
[1]