EnumFontFamProc函数是一个应用程序定义的回调函数,用于检索描述可用字体的数据。
int CALLBACK EnumFontFamProc(
ENUMLOGFONT FAR *【lpelf】, | //指向逻辑字体数据的指针 |
NEWTEXTMETRIC FAR *【lpntm】, | //指向物理字体数据的指针 |
INT 【FontType】, | //字体类型 |
LPARAM 【lParam的】 | //应用程序定义数据的地址 |
); |
参数
【lpelf】
指向包含有关字体逻辑属性的信息的ENUMLOGFONT结构。此结构在本地定义。
【lpntm】
指向NEWTEXTMETRIC结构,其中包含有关字体的物理属性的信息,如果该字体是TrueType字体。如果字体不是TrueType字体,则此参数指向TEXTMETRIC结构。
【FontType】
指定字体的类型。此参数可以是以下值的组合:
DEVICE_FONTTYPE
RASTER_FONTTYPE
TRUETYPE_FONTTYPE
【lParam的】
指向由EnumFontFamilies函数传递的应用程序定义的数据。
返回值
返回值必须是非零值才能继续枚举;要停止枚举,它必须返回零。
备注
应用程序必须通过将其地址传递给EnumFontFamilies函数来注册此回调函数。
EnumFontFamProc函数是应用程序定义的函数名称的占位符。
AND(&)运算符可以与RASTER_FONTTYPE,DEVICE_FONTTYPE和TRUETYPE_FONTTYPE常量一起使用,以确定字体类型。如果设置了RASTER_FONTTYPE位,则字体为栅格字体。如果TRUETYPE_FONTTYPE位被设置,字体是TrueType字体。如果没有设置位,则该字体是矢量字体。当设备(例如激光打印机)支持下载TrueType字体或字体是设备驻留字体时,设置DEVICE_FONTTYPE;如果设备是显示适配器,点阵式打印机或其他光栅设备,则为零。应用程序还可以使用DEVICE_FONTTYPE来区分图形设备接口(GDI) - 提供的栅格字体与设备提供的字体。GDI可以模拟GDI提供的栅格字体的粗体,斜体,下划线和删除属性,但不能对设备提供的字体进行模拟。
也可以看看
EnumFontFamilies, EnumFontFamProc, EnumFonts, ENUMLOGFONT, NEWTEXTMETRIC, TEXTMETRIC