描述
EnumFontFamProc功能是与EnumFontFamilies功能一起使用的应用程序定义的回调函数。它接收描述可用字体的数据。FONTENUMPROC类型定义了一个指向此回调函数的指针。EnumFontFamProc是应用程序定义的函数名称的占位符。
注意此函数仅用于与16位版本的Windows兼容。应用程序应调用EnumFontFamiliesEx功能。
C++ 语法
int CALLBACK EnumFontFamProc( __in ENUMLOGFONT *lpelf, __in NEWTEXTMETRIC *lpntm, __in DWORD FontType, __in LPARAM lParam ); |
PowerBASIC 语法
FUNCTION EnumFontFamProcA ( _ BYREF lpelf AS ENUMLOGFONTA, _ BYREF lpntm AS NEWTEXTMETRICA, _ BYVAL FontType AS DWORD, _ BYVAL lParam AS LONG _ ) AS LONG |
Unicode版本:
FUNCTION EnumFontFamProcW ( _ BYREF lpelf AS ENUMLOGFONTW, _ BYREF lpntm AS NEWTEXTMETRICW, _ BYVAL FontType AS DWORD, _ BYVAL lParam AS LONG _ ) AS LONG |
参数
lpelf
[in]指向ENUMLOGFONT结构的指针,其中包含有关字体逻辑属性的信息。此结构在本地定义。
Windows 2000 / XP / Vista / Windows 7:这可以是ENUMLOGFONTEXDV结构。
lpntm
[in]如果字体是TrueType字体,则指向NEWTEXTMETRIC结构的指针,其中包含有关字体的物理属性的信息。如果字体不是TrueType字体,则此参数是指向TEXTMETRIC结构的指针。
Windows 2000 / XP / Vista / Windows 7:这可以是ENUMTEXTMETRIC结构。
FontType
[in]指定字体的类型。此参数可以是这些值的组合:
DEVICE_FONTTYPE
RASTER_FONTTYPE
TRUETYPE_FONTTYPE
lParam
[in]指向EnumFontFamilies函数传递的应用程序定义数据的指针。
返回值
返回值必须是非零值才能继续枚举;要停止枚举,它必须返回零。
备注
应用程序必须通过将其地址传递给EnumFontFamilies函数来注册此回调函数。
当使用SetGraphicsMode函数将设备上下文中的图形模式设置为GM_ADVANCED,并将DEVICE_FONTTYPE标志传递给FontType参数时,此函数将返回系统上的类型1和OpenType字体的列表。当图形模式未设置为GM_ADVANCED时,该函数将返回系统上的类型1,OpenType和TrueType字体的列表。
AND(&)运算符可以与RASTER_FONTTYPE,DEVICE_FONTTYPE和TRUETYPE_FONTTYPE常量一起使用,以确定字体类型。如果设置了RASTER_FONTTYPE位,则字体为栅格字体。如果TRUETYPE_FONTTYPE位被设置,字体是TrueType字体。如果没有设置位,则该字体是矢量字体。当设备(例如激光打印机)支持下载TrueType字体或字体是设备驻留字体时,设置DEVICE_FONTTYPE;如果设备是显示适配器,点阵式打印机或其他光栅设备,则为零。应用程序还可以使用DEVICE_FONTTYPE来区分图形设备接口(GDI) - 提供的栅格字体与设备提供的字体。GDI可以模拟GDI提供的栅格字体的粗体,斜体,下划线和删除属性,但不能对设备提供的字体进行模拟。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)