勇芳软件工作室.汉化:  Fonts and Text > Fonts and Text Functions >

EnumFontFamProc

Previous pageReturn to chapter overviewNext page

描述

 

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)