CHOOSEFONTA 结构 (commdlg.h)
包含 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
类型: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
可用于初始化 字体 对话框的一组位标志。 当对话框返回时,它将设置这些标志来指示用户输入。 此成员可以是以下一个或多个值。
价值 | 意义 |
---|---|
|
使对话框显示 “应用”按钮。 应提供挂钩过程来处理 “应用”按钮的 WM_COMMAND 消息。 挂钩过程可以将 WM_CHOOSEFONT_GETLOGFONT 消息发送到对话框,以检索包含字体当前选择的结构的地址。 |
|
此标志已过时。 若要将字体选择限制为除使用 OEM 或符号字符集的脚本以外的所有脚本,请使用 CF_SCRIPTSONLY。 若要获取原始 |
|
字体枚举将忽略此标志。
Windows Vista 和 Windows XP/2000:使对话框列出可用的打印机和屏幕字体。 hDC 成员是与打印机关联的设备上下文或信息上下文的句柄。 此标志是 CF_SCREENFONTS 和 CF_PRINTERFONTS 标志的组合。 |
|
使对话框显示允许用户指定删除线、下划线和文本颜色选项的控件。 如果设置了此标志,则可以使用 rgbColors 成员指定初始文本颜色。 可以使用 lpLogFont 指向的结构的 lfStrikeOut 和 lfUnderline 成员来指定罢工和下划线复选框的初始设置。 ChooseFont 可以使用这些成员返回用户的选择。 |
|
启用此结构的 lpfnHook 成员中指定的挂钩过程。 |
|
指示 hInstance 和 lpTemplateName 成员指定用于代替默认模板的对话框模板。 |
|
指示 hInstance 成员标识包含预加载对话框模板的数据块。 如果指定了此标志,系统将忽略 lpTemplateName 成员。 |
|
ChooseFont 应枚举并允许仅选择固定间距字体。 |
|
ChooseFont 应指示用户尝试选择对话框中未列出的字体或样式时出现错误条件。 |
|
ChooseFont 应额外显示设置为“在字体控制面板中隐藏”的字体。 Windows Vista 和 Windows XP/2000:Windows 7 之前不支持此标志。 |
|
ChooseFont 应使用 lpLogFont 成员指向的结构来初始化对话框控件。 |
|
ChooseFont 应仅选择由 nSizeMin 指定的区域内的字号,nSizeMax 成员。 |
|
与 CF_NOVECTORFONTS 标志相同。 |
|
使用 LOGFONT 结构初始化对话框控件时,使用此标志可阻止对话框显示字体名称组合框的初始选择。 当没有适用于文本选择的单个字体名称时,这非常有用。 |
|
禁用 脚本 组合框。 设置此标志时,LOGFONT 结构的 lfCharSet 成员设置为 DEFAULT_CHARSET,ChooseFont 返回。 此标志仅用于初始化对话框。 |
|
ChooseFont 不应显示或允许选择字体模拟。 |
|
使用结构初始化对话框控件时,使用此标志来阻止对话框显示 字号 组合框的初始选择。 当没有适用于文本选择的单个字号时,这非常有用。 |
|
使用 LOGFONT 结构初始化对话框控件时,使用此标志可阻止对话框显示 字体样式 组合框的初始选择。 当没有适用于文本选择的单个字体样式时,这非常有用。 |
|
ChooseFont 不应允许矢量字体选择。 |
|
使 字体 对话框仅列出面向水平的字体。 |
|
字体枚举将忽略此标志。
Windows Vista 和 Windows XP/2000:使对话框仅列出与设备上下文或由 hDC 成员标识的设备上下文关联的打印机支持的字体。 它还会导致字体类型说明标签显示在 字体 对话框底部。 |
|
指定 ChooseFont 应仅允许选择可缩放字体。 可缩放字体包括矢量字体、可缩放的打印机字体、TrueType 字体,以及其他技术缩放的字体。 |
|
字体枚举将忽略此标志。
Windows Vista 和 Windows XP/2000:使对话框仅列出系统支持的屏幕字体。 |
|
ChooseFont 应允许为所有非 OEM 和符号字符集以及 ANSI 字符集选择字体。 这会取代 CF_ANSIONLY 值。 |
|
在输入上指定时,仅显示 lfCharSet 成员 LOGFONT 结构中标识的字符集的字体。 不允许用户更改在 脚本 组合框中指定的字符集。 |
|
使对话框显示“帮助”按钮 |
|
ChooseFont 应仅枚举并允许选择 TrueType 字体。 |
|
lpszStyle 成员是指向缓冲区的指针,该缓冲区包含 ChooseFont 应用于初始化 字体样式 组合框的样式数据。 当用户关闭对话框时,ChooseFont 将用户选择的样式数据复制到此缓冲区。
注意 全球化应用程序时,应通过使用 lfWeight 和 lfItalicLOGFONT 结构所指向 lpLogFont的成员来指定样式。 样式名称可能会根据系统用户界面语言而更改。
|
|
过时。
ChooseFont 忽略此标志。
Windows Vista 和 Windows XP/2000:ChooseFont 只允许选择打印机和显示器上可用的字体。 如果指定了此标志,还应指定 CF_SCREENSHOTS 和 CF_PRINTERFONTS或 CF_BOTH 标志。 |
rgbColors
类型:COLORREF
如果设置了 CF_EFFECTS 标志,rgbColors 指定初始文本颜色。 ChooseFont 成功返回时,此成员包含用户选择的文本颜色的 RGB 值。 若要创建 COLORREF 颜色值,请使用 RGB 宏。
lCustData
类型:LPARAM
系统传递给由 lpfnHook 成员标识的挂钩过程的应用程序定义数据。 当系统将 WM_INITDIALOG 消息发送到挂钩过程时,消息的 lParam 参数是指向创建对话框时指定的 CHOOSEFONT 结构的指针。 挂钩过程可以使用此指针获取 lCustData 值。
lpfnHook
类型:LPCFHOOKPROC
指向 CFHookProc 挂钩过程的指针,该过程可以处理适用于对话框的消息。 除非 标志 成员中设置了 CF_ENABLEHOOK 标志,否则将忽略此成员。
lpTemplateName
类型:LPCTSTR
hInstance 成员标识的模块中的对话框模板资源的名称。 此模板替换为标准对话框模板。 对于编号对话框资源,
hInstance
类型:HINSTANCE
如果在 标志 成员中设置 CF_ENABLETEMPLATEHANDLE 标志,hInstance 是包含对话框模板的内存对象的句柄。 如果设置了 CF_ENABLETEMPLATE 标志,hInstance 是包含由 lpTemplateName 成员命名的对话框模板的模块的句柄。 如果未设置 CF_ENABLETEMPLATEHANDLE 或 CF_ENABLETEMPLATE,则忽略此成员。
lpszStyle
类型:LPTSTR
样式数据。 如果指定了 CF_USESTYLE 标志,ChooseFont 使用此缓冲区中的数据来初始化 字体样式 组合框。 当用户关闭对话框时,ChooseFont 将 字体样式 组合框中的字符串复制到此缓冲区中。
nFontType
类型:WORD
ChooseFont 返回时,所选字体的类型。 此成员可以是以下一个或多个值。
价值 | 意义 |
---|---|
|
字体粗细为粗体。 此信息在 LOGFONT 结构的 lfWeight 成员中重复,等效于 FW_BOLD。 |
|
设置斜体字体属性。 此信息在 LOGFONT 结构的 lfItalic 成员中重复。 |
|
字体是打印机字体。 |
|
字体粗细正常。 此信息在 LOGFONT 结构的 lfWeight 成员中重复,等效于 FW_REGULAR。 |
|
字体是屏幕字体。 |
|
该字体由图形设备界面(GDI)模拟。 |
___MISSING_ALIGNMENT__
nSizeMin
类型:INT
用户可以选择的最小点大小。 仅当指定 CF_LIMITSIZE 标志时,ChooseFont 才识别此成员。
nSizeMax
类型:INT
用户可以选择的最大点大小。 仅当指定 CF_LIMITSIZE 标志时,ChooseFont 才识别此成员。
言论
注意
commdlg.h 标头将 CHOOSEFONT 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | commdlg.h |
另请参阅
概念
参考