COMPROPSHEETUI 结构 (compstui.h)

如果函数代码CPSFUNC_ADD_PCOMPROPSHEETUI,则 COMPROPSHEETUI 结构将用作 CPSUI 的 ComPropSheet 函数的输入参数。 所有结构成员必须由 ComPropSheet 的调用方提供。

语法

typedef struct _COMPROPSHEETUI {
  WORD           cbSize;
  WORD           Flags;
  HINSTANCE      hInstCaller;
  LPTSTR         pCallerName;
  ULONG_PTR      UserData;
  LPTSTR         pHelpFile;
  _CPSUICALLBACK pfnCallBack;
  POPTITEM       pOptItem;
  PDLGPAGE       pDlgPage;
  WORD           cOptItem;
  WORD           cDlgPage;
  ULONG_PTR      IconID;
  LPTSTR         pOptItemName;
  WORD           CallerVersion;
  WORD           OptItemVersion;
  ULONG_PTR      dwReserved[4];
} COMPROPSHEETUI, *PCOMPROPSHEETUI;

成员

cbSize

调用方提供的 COMPROPSHEETUI 结构的大小(以字节为单位)。

Flags

调用方提供的可选位标志,如以下列表所述:

CPSUIF_ABOUT_CALLBACK

如果设置,页面的回调函数 (结构的 pfnCallback 成员) 指向,支持CPSUICB_REASON_ABOUT,因此当用户单击页面的“ 关于 ”按钮时,CPSUI 将调用回调函数。 (CPSUI 为每个树视图根节点提供 “关于 ”按钮。)

CPSUIF_ICONID_AS_HICON

如果设置,结构的 IconID 成员包含图标句柄。

如果未设置, IconID 成员包含图标资源标识符。

CPSUIF_UPDATE_PERMISSION

如果已设置,用户可以修改页面的选项值。

hInstCaller

调用方提供的模块实例句柄,由 DLL 的入口点函数接收。

pCallerName

调用方提供的指针,指向表示应用程序名称的以 NULL 结尾的文本字符串。 (对于打印机接口 DLL,应为驱动程序的名称,例如“PostScript 驱动程序”。)

UserData

可选的调用方提供的值,当调用 pfnCallBack 指向的函数时,CPSUI 将其放置在 CPSUICBPARAM 结构的 UserData 成员中。

pHelpFile

调用方提供的指向以 NULL 结尾的文本字符串的指针,该字符串表示帮助文件的路径。 对于打印机接口 DLL,这通常是通过调用 GetPrinterDriver 获取的帮助文件路径。

帮助文件按 OPTITEM 结构的 HelpIndex 成员中包含的值编制索引。

pfnCallBack

调用方提供的指向 _CPSUICALLBACK类型的回调函数的指针,当用户修改页面的选项值时,CPSUI 会调用该函数。

仅当 pDlgPage 标识 CPSUI 提供的 DLGPAGE 结构,或者应用程序提供的 DLGPAGE 结构的 DlgProc 成员为 NULL 时,才能使用。

pOptItem

调用方提供的指向描述页面选项的 OPTITEM 结构数组的指针。

pDlgPage

此成员指定描述要添加到属性表的页面的 DLGPAGE 结构。 可以是下列值之一:

  • 指向 DLGPAGE 结构数组的指针。

  • 以下列表中介绍的指针之一。 这些指针引用由 CPSUI 提供的预定义 DLGPAGE 结构,供打印机接口 DLL 使用。

    • CPSUI_PDLGPAGE_ADVDOCPROP

      定义一个树视图页面,其选项卡为 “高级”。 仅供 DrvDocumentPropertySheets 函数使用。

    • CPSUI_PDLGPAGE_DOCPROP

      定义三个页面,其选项卡为“布局”、“纸张/质量”和“高级”。 “ 高级 ”页是树状视图。 仅供 DrvDocumentPropertySheets 函数使用。

    • CPSUI_PDLGPAGE_PRINTERPROP

      定义一个树视图页面,其选项卡显示“设备设置”。 仅供 DrvDevicePropertySheets 函数使用。

    • CPSUI_PDLGPAGE_TREEVIEWONLY

      定义一个树视图页面。

cOptItem

调用方提供的 pOptItem 指向的 OPTITEM 结构的数量。

cDlgPage

pDlgPage 指向的调用方提供的 DLGPAGE 结构的数量。 如果 pDlgPage 指定预定义CPSUI_PDLGPAGE前缀结构,则不使用 。

IconID

调用方提供的 ,可以是以下项之一:

  • 图标资源标识符。 它可以是应用程序定义的,也可以是 CPSUI 提供的IDI_CPSUI前缀图标资源标识符之一。

  • 图标句柄。 如果指定句柄,则必须在 Flags 成员中设置CPSUIF_ICONID_AS_HICON。

指定的图标显示在属性表页树视图的根节点中。

pOptItemName

调用方提供的指针指向要显示在属性表页面树视图的根节点中的 NULL 终止字符串。 对于打印机接口 DLL,此字符串通常表示打印机设备类型,例如“HP 4si”。

CallerVersion

调用方提供的版本号,表示调用应用程序的当前版本。 高字节标识主版本,低字节是次要版本。 例如,0x310的 CallerVersion 值指定调用方版本号 3.16。 当用户单击页面的“ 关于 ”按钮时,会显示版本号。

OptItemVersion

调用方提供的版本号,表示根级别选项项的当前版本。 对于打印机接口 DLL,这通常表示打印机设备版本。 高字节标识主版本,低字节是次要版本。 例如, OptItemVersion 值为 0x3ff 指定调用方版本号 3.255。 当用户单击页面的“ 关于 ”按钮时,会显示版本号。

dwReserved[4]

保留。 此数组必须设置为零。

要求

要求
Header compstui.h (包括 Compstui.h)