包含
ChooseFont
函数用来初始化
字体
对话框的信息。 用户关闭对话框后,系统会返回有关此结构中用户选择的信息。
typedef struct tagCHOOSEFONTA {
DWORD lStructSize;
HWND hwndOwner;
HDC hDC;
LPLOGFONTA lpLogFont;
INT iPointSize;
DWORD Flags;
COLORREF rgbColors;
LPARAM lCustData;
LPCFHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
HINSTANCE hInstance;
LPSTR lpszStyle;
WORD nFontType;
WORD ___MISSING_ALIGNMENT__;
INT nSizeMin;
INT nSizeMax;
} CHOOSEFONTA;
lStructSize
类型:DWORD
结构的长度(以字节为单位)。
hwndOwner
类型:HWND
拥有对话框的窗口的句柄。 此成员可以是任何有效的窗口句柄,或者如果对话框没有所有者,则可以 NULL。
类型:HDC
ChooseFont 函数忽略此成员。
Windows Vista 和 Windows XP/2000:打印机的设备上下文或信息上下文的句柄,其字体将列在对话框中。 仅当 标志 成员指定 CF_PRINTERFONTS 或 CF_BOTH 标志时,才使用此成员;否则,将忽略此成员。
lpLogFont
类型:LPLOGFONT
指向 LOGFONT 结构的指针。 如果在 标志 成员中设置 CF_INITTOLOGFONTSTRUCT 标志并初始化其他成员,则 ChooseFont 函数使用与 logFONT 成员匹配的字体初始化对话框。 如果用户单击“确定”按钮 “确定”按钮,ChooseFont 根据用户的选择设置 LOGFONT 结构的成员。
iPointSize
类型:INT
所选字体的大小,单位为 1/10 磅。
ChooseFont 函数在用户关闭对话框后设置此值。
Flags
类型:DWORD
可用于初始化 字体 对话框的一组位标志。 当对话框返回时,它将设置这些标志来指示用户输入。 此成员可以是以下一个或多个值。
使对话框显示允许用户指定删除线、下划线和文本颜色选项的控件。 如果设置了此标志,则可以使用 rgbColors 成员指定初始文本颜色。 可以使用 lpLogFont 指向的结构的 lfStrikeOut 和 lfUnderline 成员来指定罢工和下划线复选框的初始设置。
ChooseFont 可以使用这些成员返回用户的选择。
lpszStyle 成员是指向缓冲区的指针,该缓冲区包含 ChooseFont 应用于初始化 字体样式 组合框的样式数据。 当用户关闭对话框时,ChooseFont 将用户选择的样式数据复制到此缓冲区。
注意 全球化应用程序时,应通过使用 lfWeight 和 lfItalicLOGFONT 结构所指向 lpLogFont的成员来指定样式。 样式名称可能会根据系统用户界面语言而更改。
类型:
COLORREF
如果设置了
CF_EFFECTS
标志,
rgbColors
指定初始文本颜色。
ChooseFont
成功返回时,此成员包含用户选择的文本颜色的 RGB 值。 若要创建
COLORREF
颜色值,请使用
RGB
宏。
lCustData
类型:
LPARAM
系统传递给由
lpfnHook
成员标识的挂钩过程的应用程序定义数据。 当系统将
WM_INITDIALOG
消息发送到挂钩过程时,消息的
lParam
参数是指向创建对话框时指定的
CHOOSEFONT
结构的指针。 挂钩过程可以使用此指针获取
lCustData
值。
lpfnHook
类型:
LPCFHOOKPROC
指向
CFHookProc
挂钩过程的指针,该过程可以处理适用于对话框的消息。 除非
标志
成员中设置了
CF_ENABLEHOOK
标志,否则将忽略此成员。
lpTemplateName
类型:
LPCTSTR
hInstance
成员标识的模块中的对话框模板资源的名称。 此模板替换为标准对话框模板。 对于编号对话框资源,
lpTemplateName
可以是由 MAKEINTRESOURCE 宏
返回的值。 除非在
标志
成员中设置
CF_ENABLETEMPLATE
标志,否则将忽略此成员。
hInstance
类型:
HINSTANCE
如果在
标志
成员中设置
CF_ENABLETEMPLATEHANDLE
标志,
hInstance
是包含对话框模板的内存对象的句柄。 如果设置了
CF_ENABLETEMPLATE
标志,
hInstance
是包含由
lpTemplateName
成员命名的对话框模板的模块的句柄。 如果未设置
CF_ENABLETEMPLATEHANDLE
或
CF_ENABLETEMPLATE
,则忽略此成员。
lpszStyle
类型:
LPTSTR
样式数据。 如果指定了
CF_USESTYLE
标志,
ChooseFont
使用此缓冲区中的数据来初始化
字体样式
组合框。 当用户关闭对话框时,
ChooseFont
将
字体样式
组合框中的字符串复制到此缓冲区中。
nFontType
类型:
WORD
ChooseFont
返回时,所选字体的类型。 此成员可以是以下一个或多个值。
commdlg.h 标头将 CHOOSEFONT 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
约定。