在致电ChooseFont之前,CHOOSEFONT结构的旗成员必须指定CF_SCREENFONTS,CF_PRINTERFONTS或CF_BOTH,以指示对话框是否应列出屏幕字体,打印机字体或两者。如果指定CF_PRINTERFONTS或CF_BOTH,则CHOOSEFONT结构的hDC成员必须为打印机的设备上下文指定句柄。
您可以使用旗成员启用或禁用某些对话框控件,您可以使用旗成员与其他CHOOSEFONT成员一起控制某些控件的初始值。
显示允许用户选择删除,下划线和颜色选项的控件
*设置CF_EFFECTS标志。您可以使用CHOOSEFONT结构的rgbColors成员来指定初始字体颜色。
要指定Font,Font Style,Size,Strikeout和Underline对话框控件的初始值
*设置CF_INITTOLOGFONTSTRUCT标志以使用LOGFONT结构的成员来指定初始值。
*您还可以使用CF_NOFACESEL,CF_NOSTYLESEL和CF_NOSIZESEL标志来选择性地阻止该对话框显示相应控件的初始值。当使用具有多个字体,样式或点大小的文本选择时,这很有用。如果用户没有选择相应的值,当ChooseFont返回时,这些值也将在旗中设置。
要将Font Style控件初始化为指定的样式名称
*设置CF_USESTYLE标志并使用Pointer to a buffer that contains style data.成员指定样式名称。
显示应用按钮
*设置CF_APPLY标志,并提供一个挂钩过程来处理应用按钮的WM_COMMAND消息。挂钩过程可以将WM_CHOOSEFONT_GETLOGFONT消息发送到对话框,以检索包含当前字体选择的LOGFONT结构的地址。
显示帮助按钮
*设置CF_SHOWHELP标志。当用户单击“帮助”按钮时,hwndOwner成员必须标识接收HELPMSGSTRING注册消息的窗口。
要限制字体,对话框显示
*设置CF_TTONLY,CF_FIXEDPITCHONLY,CF_NOVECTORFONTS,CF_NOVERTFONTS,CF_SCALABLEONLY和CF_WYSIWYG标志的任意组合。您还可以通过使用CF_NOSIMULATIONS值来限制对话框显示某些字体的可用样式,点大小和效果。
要限制用户可以指定的字体名称,样式和点大小
*设置CF_FORCEFONTEXIST标志以限制用户仅指定有效的字体名称,样式和点大小。
*设置CF_LIMITSIZE标志以限制用户指定由nSizeMin和nSizeMax成员指定的范围内的点大小。
限制或禁用脚本组合框
*设置CF_NOSCRIPTSEL标志以禁用脚本组合框,或设置CF_SELECTSCRIPT标志将“脚本”组合框中的选择限制为指定的字符集。