int EnumFontFamilies(hdc, lpszFamily, lpFontFunc, lParam) | |||||
HDC hdc; | /* device-context handle | */ | |||
LPCTSTR lpszFamily; | /* string for family name | */ | |||
FONTENUMPROC lpFontFunc; | /* pointer to callback function | */ | |||
LPARAM lParam; | /* pointer to application-supplied data | */ |
The EnumFontFamilies function enumerates the fonts in a specified font family that are available on a given device.
hdc
Identifies the device context.
lpszFamily
Points to a null-terminated string that specifies the family name of the desired fonts. If lpszFamily is NULL, EnumFontFamilies randomly selects and enumerates one font of each available type family.
lpFontFunc
Specifies the procedure-instance address of the application-defined callback function. See the description of the EnumFontFamProc function.
lParam
Points to application-supplied data. The data is passed to the callback function along with the font information.
The return value specifies the last value returned by the callback function. Its meaning is implementation specific.
The EnumFontFamilies function differs from the EnumFonts function in that it retrieves the style names associated with a TrueType font. With EnumFontFamilies, information can be retrieved about unusual font styles (for example, “Outline”) that could not be enumerated by using the EnumFonts function. Applications should use EnumFontFamilies instead of EnumFonts.
For each font having the typeface name specified by the lpszFamily parameter, the EnumFontFamilies function retrieves information about that font and passes it to the function pointed to by the lpFontFunc parameter. The application-supplied callback function can process the font information as desired. Enumeration continues until there are no more fonts or the callback function returns zero.
The address passed as the lpFontFunc parameter must be created by using the MakeProcInstance function.
The callback function must use the Pascal calling convention and must be declared FAR.
EnumFonts EnumFontFamProc