ChooseFont () Win32 通用对话框

受影响的平台

客户端 - Windows 7
服务器 - Windows Server 2008 R2

功能影响

严重性 - 低
频率 - 中等

说明

Windows 7 包括对 ChooseFont () Win32 通用对话框的多项更新。 这些类别分为两类:

  • 对话框的视觉刷新
  • 支持新的显示/隐藏字体功能

对话框刷新更新标准模板,使对话与 Windows 中的其他对话框布局更加一致。 它向字体显示列表引入了 WYSIWYG,以帮助用户选择字体。 它还包含一个指向 Fonts CPL 的链接,以便为希望自定义其字体列表的用户提供轻松访问。

显示/隐藏字体 是一项新的 Windows 7 平台功能,默认情况下,字体选择列表中不会显示不适合当前用户的语言设置) (输入方法。 用户可以自定义希望在字体 CPL 中显示的字体,也可以禁用此功能。

影响的表现

对话视觉对象刷新

我们在 Windows 7 中引入了两个新模板 (一个用于加载 comctl32.dll 版本 6 或更高版本的应用程序,另一个用于加载早期版本) 的应用程序。

  • 出于应用程序兼容性原因,只会为不挂接 ChooseFont 消息队列的应用程序加载这些新模板。 挂接消息队列的应用程序将继续看到旧的对话框布局。
  • 提供其自己的模板的应用程序将继续能够使用它们。

未获取新模板的应用程序将不会看到来自 Vista 的对话框布局更改。 不过,他们仍应获取新的“即所得”字体预览。

显示/隐藏字体

对于所有版本的 ChooseFont,对话框将使用当前用户的显示/隐藏字体设置来确定要显示的字体列表。 这会导致在大多数情况下显示较少的字体列表。

最终用户缓解

显示/隐藏字体: 若要禁用字体隐藏,用户应转到字体 CPL 中的“字体设置”页并取消选择 ”

“根据语言设置隐藏字体”复选框

开发人员缓解

  • 视觉对象刷新: 提供自己模板的应用程序开发人员可能需要刷新此模板,使其与相应的新 Windows 7 模板保持一致。 Font.dlg 模板文件中提供了新模板。

    注意: 新发布的模板包含一个附加的 SysLink 控件,该控件提供一个快捷方式,允许用户启动 Fonts CPL 以显示更多字体。 链接控件需要 Windows 通用控件库 (comctl32.dll) 版本 6。 开发人员应提供清单或指令,指定使用版本 6 的 DLL(如果可用)。 如果应用程序使用公共控件库的早期版本,请改用“PUSHBUTTON”控件类型。

  • 显示/隐藏字体: 开发人员可以通过在 CHOOSEFONT 结构的标志成员中提供其他标志 (CF_INACTIVEFONTS) 来禁用此功能。 设置此标志会导致所有已安装的字体都显示在字体列表中。

  • 显示/隐藏字体: 提供 ChooseFont 帮助内容的应用程序可能希望添加内容来解释字体列表减少的原因,并将用户定向到 Fonts CPL 以自定义其字体列表。

兼容性、性能、可靠性和可用性测试

应用程序挂接 ChooseFont 消息队列以自定义对话框的开发人员应验证其应用程序是否保留了所有现有功能。

使用标志大量剪裁字体列表的应用程序应确保显示的字体列表仍可接受。