鱼C论坛

 找回密码
 立即注册
查看: 2885|回复: 0

[API档案] EnumFontsProc

[复制链接]
发表于 2016-7-22 15:34:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注:本文档由 CET-6-WPW 翻译,小甲鱼校对。

原文链接 -> 传送门

函数功能:

EnumFontsProc 函数是应用程序自定义的回调函数,处理来自 EnumFonts 函数的字体信息。FONTENUMPROC 类型定义一个指向该回调函数的指针。EnumFontsProc 是应用程序自定义函数的名称的占位符。

注意:此函数只供与 16 位版本的 Windows 的兼容性。新应用程序应使用 EnumFontFamiliesEx 函数。


API 函数原型:

注释:_In_ 说明该参数是输入的。
int CALLBACK EnumFontsProc(
  _In_ const LOGFONT    *lplf,
  _In_ const TEXTMETRIC *lptm,
  _In_       DWORD      dwType,
  _In_       LPARAM     lpData
);

参数解析:

参数 含义
lplf1. 指向一个包含有关逻辑属性的字体信息的 LOGFONT 结构的指针

2. 该参数可以是一个 ENUMLOGFONTEXDV 结构
lptm1. 指向一个包含有关的物理属性的字体信息的 TEXTMETRIC 结构的指针

2. 该参数可以是一个 ENUMTEXTMETRIC 结构
dwType字体的类型。此参数可以是下列值的组合:
  • DEVICE_FONTTYPE
  • RASTER_FONTTYPE
  • TRUETYPE_FONTTYPE
lpData指向由 EnumFonts 函数传递来的应用程序自定义的数据的指针


返回值:

返回值必须是一个非 0 的值,以继续枚举;若要停止枚举,返回值必须为 0。


备注:

1. RASTER_FONTTYPE 和 DEVICE_FONTTYPE 可由 AND 操作符(&)组合起来决定字体类型。FontType 参数的 RASTER_FONTTYPE 位用来指定该字体是光栅字体还是向量字体。如果该位是 1,字体是光栅字体;该位是 0,则是向量字体。FontType 参数的 DEVICE_FONTTYPE 位用于确定字体是基于设备的还是基于图形设备接口(GDI)的。如果该位是 1,表明该字体是基于设备的,如果该位是 0,则是基于 GDI 的字体。

2. 如果只要基字体被列举,设备就能进行文本转换(缩放、倾斜等),则用户应该查询设备的文本转换能力,以确定设备还能直接提供哪些字体。

3. 应用程序应该将 EnumFontsProc 函数的地址传给 EnumFonts 函数进行注册。


需求:

Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Wingdi.h (包含于 Windows.h)
Library Gdi32.lib
DLL Gdi32.dll
Unicode and ANSI namesEnumFontsProcW (Unicode) 和 EnumFontsProcA (ANSI)


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 16:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表