自定义 CPSUI 支持的窗口控件

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅新式打印平台打印支持应用设计指南

如果将 CPSUI 支持的窗口控件CPSUI 提供的页面和模板结合使用,CPSUI 将提供窗口控件资源,这些资源将以允许控件相互配合的方式描述控件。 因此,你无需为控件提供资源。

另一方面,如果创建的属性页不使用 CPSUI 提供的页面或模板,则必须自定义所使用的 CPSUI 支持的窗口控件。 为此,需要为 CPSUI 选项类型提供窗口控制资源。 必须使用每个选项的 OPTTYPE 结构的 BegCtrlID 成员为这些资源指定标识符。

如果要自定义 CPSUI 支持的窗口控件,请记住,如果在 OPTITEM 结构中设置了 OPTIF_HIDE 标志,CPSUI 将不显示选项。 CPSUI 会移动其余控件,以填充隐藏选项通常占用的空间。 因此,如果创建的页面包含多个同时显示的选项,则应遵守以下规则:

  • 每个选项应占据属性页的整个水平空间。

  • 选项对话框不应相互重叠。

  • 对于从左到右排列的单选按钮所代表的选项,按钮和图标应在 x 轴上对齐。 如果按钮从上到下排列,按钮和图标应在 y 轴上对齐。

  • 如果多个项目共用一个组框,则该组框必须属于第一个 OPTITEM,也就是组框中最上面的项目。 组框必须足够大,方可包含与其相关的所有项目。

此外,请注意,如果单选按钮和图标从上到下排列,其中一些控件被隐藏,CPSUI 不会删除由此产生的 y 方向空白空间。