PFNCOMPROPSHEET 回调函数 (compstui.h)

ComPropSheet 函数由 CPSUI 提供,可由 CPSUI 应用程序(包括打印机接口 DLL)调用以生成属性表页。

语法

PFNCOMPROPSHEET Pfncompropsheet;

LONG_PTR Pfncompropsheet(
  [in] HANDLE hComPropSheet,
  [in] UINT Function,
  [in] LPARAM lParam1,
  [in] LPARAM lParam2
)
{...}

参数

[in] hComPropSheet

调用方提供的属性表句柄 组父。 有关详细信息,请参阅以下“备注”部分。

[in] Function

调用方提供的、CPSFUNC_前缀的 ComPropSheet 函数代码,用于指定要由 ComPropSheet 函数执行的作。 请参阅下面的 备注 部分中的 ComPropSheet 函数代码表。

[in] lParam1

调用方提供的值取决于为 函数提供的 ComPropSheet 函数代码。

[in] lParam2

调用方提供的值取决于为 函数提供的 ComPropSheet 函数代码。

返回值

返回值取决于为 函数提供的 ComPropSheet 函数代码

言论

当 CPSUI 调用某个应用程序的 PFNPROPSHEETUI类型函数时,它会在 PROPSHEETUI_INFO 结构中传递指向 ComPropSheet 函数的指针。 PFNPROPSHEETUI类型化函数可以调用 ComPropSheet 函数,将属性表页描述为 CPSUI。

打印机接口 DLL 可以从其 DrvDocumentPropertySheets 函数或其 DrvDevicePropertySheets 函数中调用 ComPropSheet

Microsoft Unidrv P script 驱动程序 的用户界面插件 可以调用 ComPropSheet 从其 IPrintOemUI::D ocumentPropertySheetsIPrintOemUI::D evicePropertySheets 方法。

hComPropSheet 参数指定的 组父 句柄可以是以下任一参数:

ComPropSheet 函数代码

以下函数代码可以传递给 CPSUI 的 ComPropSheet 函数:

CPSFUNC_ADD_HPROPSHEETPAGE

CPSFUNC_ADD_HPROPSHEETPAGE 函数代码导致 ComPropSheet 函数添加通过调用 CreatePropertySheetPage 函数创建的属性表页。

参数(CPSFUNC_ADD_HPROPSHEETPAGE)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 以添加属性表页时将此函数代码参数设置为 CPSFUNC_ADD_HPROPSHEETPAGE

  • lParam1:通过调用 CreatePropertySheetPage 函数获取的属性表页的句柄

  • lParam2:未使用,必须为零

返回值 (CPSFUNC_ADD_HPROPSHEETPAGE)

如果作成功,ComPropSheet 将 CPSUI 句柄返回到添加的页面;否则,它将返回 NULL。

CPSFUNC_ADD_PCOMPROPSHEETUI

CPSFUNC_ADD_PCOMPROPSHEETUI 函数代码导致 ComPropSheet 函数添加一组由 COMPROPSHEETUI 结构描述的一个或多个属性表页。

参数
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_ADD_PCOMPROPSHEETUI,以添加一组或多个属性表页

  • lParam1:指向 COMPROPSHEETUI 结构的指针

  • lParam2:指向 32 位位置的指针,以接收添加的页数;如果发生故障,ERR_CPSUI前缀错误代码

返回值

如果作成功,ComPropSheet 返回已添加页面集的句柄;否则,该函数返回 NULL。

CPSFUNC_ADD_PFNPROPSHEETUI

CPSFUNC_ADD_PFNPROPSHEETUI 函数代码导致 ComPropSheet 函数调用指定的 PFNPROPSHEETUI 类型函数,该函数必须添加一组或多个属性表页。

参数(CPSFUNC_ADD_PFNPROPSHEETUI)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为CPSFUNC_ADD_PFNPROPSHEETUIComPropSheet 然后调用指定的 PFNPROPSHEETUI 类型函数来添加一组或多个属性表页。

  • lParam1:指向 PFNPROPSHEETUI 类型函数的指针

  • lParam2:传递给其 lParam 参数的 PFNPROPSHEETUI 类型函数的 32 位值

返回值(CPSFUNC_ADD_PFNPROPSHEETUI)

如果作成功,ComPropSheet 返回已添加页面集的句柄;否则,该函数返回 NULL。

CPSFUNC_ADD_PROPSHEETPAGE

CPSFUNC_ADD_PROPSHEETPAGE 函数代码导致 ComPropSheet 函数添加属性表页的类型,该属性表页由 PROPSHEETPAGE 结构描述。

参数(CPSFUNC_ADD_PROPSHEETPAGE)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_ADD_PROPSHEETPAGE,以添加 PROPSHEETPAGE 结构描述的属性表页的类型。 ComPropSheet 函数调用 CreatePropertySheetPage 函数,并传递 PROPSHEETPAGE 结构的地址来创建页面。

  • lParam1:指向 PROPSHEETPAGE 结构的指针

  • lParam2:未使用,必须为零

返回值(CPSFUNC_ADD_PROPSHEETPAGE)

如果作成功,ComPropSheet 将 CPSUI 句柄返回到添加的页面;否则,它将返回 NULL。

CPSFUNC_DELETE_HCOMPROPSHEET

CPSFUNC_DELETE_HCOMPROPSHEET 函数代码导致 ComPropSheet 函数删除由 CPSUI 句柄指定的一组属性表页。

参数(CPSFUNC_DELETE_HCOMPROPSHEET)
  • hComPropSheet:组父句柄

  • 函数:调用方调用 comPropSheet 删除一组属性表页时,调用方将此函数代码参数设置为 CPSFUNC_DELETE_HCOMPROPSHEET

  • lParam1:CPSUI 句柄,该句柄引用要删除的页面集。 以前必须通过使用以下函数代码之一调用 ComPropSheet 来获取此句柄:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PCOMPROPSHEETUI

    • CPSFUNC_ADD_PFNPROPSHEETUI

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE

  • lParam2:未使用,必须为零

返回值 (CPSFUNC_DELETE_HCOMPROPSHEET)

ComPropSheet 函数返回已删除的属性表页数。

CPSFUNC_DO_APPLY_CPSUI

CPSFUNC_DO_APPLY_CPSUI 函数代码会导致 ComPropSheet 函数模拟PSN_APPLY通知消息的传递。

CPSUI 通过向应用程序的_CPSUICALLBACK类型回调函数传递 CPSUICB_REASON_APPLYNOW 原因来响应 CPSFUNC_DO_APPLY_CPSUI 函数代码。

参数(CPSFUNC_DO_APPLY_CPSUI)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_DO_APPLY_CPSUI,以模拟传递PSN_APPLY通知消息

  • lParam1:指向一个或多个属性表页集的 CPSUI 句柄。 通常,此句柄以前已指定为 lParam1 参数,以使用 CPSFUNC_IGNORE_CPSUI_PSN_APPLY 函数代码 ComPropSheet

  • lParam2:此参数是以下位标志的任意组合:

    • APPLYCPSUI_NO_NEWDEF - 如果不希望更改当前默认值(用于撤消作),请设置此标志。 如果希望所有选项的当前值成为用于撤消作的默认值,请清除此标志。

    • APPLYCPSUI_OK_CANCEL_BUTTON - 如果用户选择了“确定”或“取消”按钮(或者想要模拟此活动),则设置此标志。 如果用户选择了“关闭”或“立即应用”按钮(或者想要模拟此活动),请清除此标志。 如果代码设置为接收 PSN_APPLY 消息,则代码应检查 PSHNOTIFY 结构的 lParam 成员。 如果该成员为零,则应清除此位。

返回值(CPSFUNC_DO_APPLY_CPSUI)

如果作成功,则 ComPropSheet 函数返回非零值;否则,它将返回零,并且指定的页面将变为活动状态。

如果使用 CPSFUNC_IGNORE_CPSUI_PSN_APPLY 函数代码来禁用 CPSUI 对PSN_APPLY通知消息的处理,则必须使用 CPSFUNC_DO_APPLY_CPSUI 函数代码来模拟PSN_APPLY消息的传递。 否则,无法获取对属性表页的用户更改。

CPSFUNC_GET_HPSUIPAGES

CPSFUNC_GET_HPSUIPAGES 函数代码导致 ComPropSheet 函数返回指向属性表页的 CPSUI 句柄数组。 这些句柄标识与指定组父句柄关联的子页。

若要使用此函数代码,请执行以下步骤:

  • 调用 ComPropSheet,指定 CPSFUNC_GET_PAGECOUNT 函数代码,以获取与指定组父级关联的子页数。

  • 分配足够的本地内存以包含每个页面的 HANDLE 结构。

  • 再次调用 ComPropSheet,指定 CPSFUNC_GET_HPSUIPAGES 函数代码和本地分配内存的地址,以获取 HANDLE 结构的数组。

参数(CPSFUNC_GET_HPSUIPAGES)
  • hComPropSheet:组父句柄

  • 函数:调用方调用 comPropSheet 以检索 CPSUI 句柄数组时,调用方将此函数代码参数设置为 CPSFUNC_GET_HPSUIPAGES

  • lParam1:指向 HANDLE 结构的数组的指针

  • lParam2:lParam1 指向的 HANDLE 数组的大小

返回值 (CPSFUNC_GET_HPSUIPAGES)

ComPropSheet 函数返回 CPSUI 放置在 HANDLE 数组中的句柄数。

CPSFUNC_GET_PAGECOUNT

CPSFUNC_GET_PAGECOUNT 函数代码导致 ComPropSheet 函数返回指定组父句柄的子页的属性表页数。

参数(CPSFUNC_GET_PAGECOUNT)
  • hComPropSheet:组父句柄

  • 函数:调用方调用 comPropSheet 返回子页计数 时,调用方将此函数代码参数设置为 CPSFUNC_GET_PAGECOUNT

  • lParam1:未使用,必须为零

  • lParam2:未使用,必须为零

返回值 (CPSFUNC_GET_PAGECOUNT)

ComPropSheet 函数返回计数的页数。

CPSFUNC_GET_PFNPROPSHEETUI_ICON

CPSFUNC_GET_PFNPROPSHEETUI_ICON 函数代码会导致 ComPropSheet 函数返回与一组属性表页关联的图标的句柄。 页集以前必须由 PFNPROPSHEETUI 类型函数创建。

ComPropSheet 函数调用与指定页面句柄关联的 PFNPROPSHEETUI 类型函数,并传递 PROPSHEETUI_REASON_GET_ICON的原因值。 然后,PFNPROPSHEETUI 类型的函数调用 LoadImage,并提供 bylParam2 指定的图标大小来加载图标资源。

参数(CPSFUNC_GET_PFNPROPSHEETUI_ICON)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_GET_PFNPROPSHEETUI_ICON,以检索与一组属性表页关联的图标的句柄

  • lParam1:引用一组属性表页的 CPSUI 句柄。 以前必须使用 CPSFUNC_ADD_PFNPROPSHEETUI 函数代码调用 ComPropSheet 来获取此句柄。

  • lParam2:指定表示图标大小的两个 WORD 大小值(以像素为单位)。 LOWORD 值是宽度,HIWORD 值是高度。 如果这些值为零,则使用系统指标SM_CXICON和SM_CYICON。 有关详细信息,请参阅 GetSystemMetrics

返回值(CPSFUNC_GET_PFNPROPSHEETUI_ICON)

如果作成功,则 ComPropSheet 函数返回图标句柄;否则返回 NULL。

CPSFUNC_IGNORE_CPSUI_PSN_APPLY

CPSFUNC_IGNORE_CPSUI_PSN_APPLY 函数代码导致 ComPropSheet 函数禁用或重新启用 CPSUI 处理 PSN_APPLY 通知消息。

当用户选择属性表的“确定”或“取消”按钮时,系统将PSN_APPLY通知消息发送到 CPSUI。 CPSUI 通过向应用程序的_CPSUICALLBACK类型回调函数传递 CPSUICB_REASON_APPLYNOW 原因来响应此消息。

如果禁用 CPSUI 处理PSN_APPLY通知消息,则必须使用 CPSFUNC_DO_APPLY_CPSUI 函数代码来模拟PSN_APPLY消息的传递。 否则,无法获取对属性表页的用户更改。

如果未使用 CPSFUNC_IGNORE_CPSUI_PSN_APPLY 函数代码,则默认情况下会启用 CPSUI 处理PSN_APPLY通知消息。

参数(CPSFUNC_IGNORE_CPSUI_PSN_APPLY)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_IGNORE_CPSUI_PSN_APPLY,以禁用或重新启用 CPSUI 处理PSN_APPLY通知消息

  • lParam1:引用一个或多个属性表页集的 CPSUI 句柄。 以前必须通过调用 ComPropSheet 获取此句柄,该句柄的函数代码为 CPSFUNC_ADD_PCOMPROPSHEETUI,或者具有 CPSFUNC_INSERT_PSUIPAGE 的函数代码和 PSUIPAGEINSERT_PROPSHEETPAGE的插入类型。

  • lParam2:任何非零值都禁用 CPSUI 传递 CPSUICB_REASON_APPLYNOW 原因。 零值可重新实现 CPSUICB_REASON_APPLYNOW 原因的传递。

返回值 (CPSFUNC_IGNORE_CPSUI_PSN_APPLY)

如果作成功,则 ComPropSheet 函数返回非零值;否则返回零。

CPSFUNC_INSERT_PSUIPAGE

CPSFUNC_INSERT_PSUIPAGE 函数代码会导致 ComPropSheet 函数在特定位置插入一组属性表页。

参数(CPSFUNC_INSERT_PSUIPAGE)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_INSERT_PSUIPAGE,以在特定位置插入一组属性表页

  • lParam1:指定一组一个或多个属性表页的句柄。 新页面将插入这些页面之前或之后,具体取决于 lParam2指向的 INSERTPSUIPAGE_INFO 结构的 Mode 成员。 以前必须通过使用以下函数代码之一调用 ComPropSheet 来获取此句柄:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PCOMPROPSHEETUI

    • CPSFUNC_ADD_PFNPROPSHEETUI

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE

  • lParam2:指向 INSERTPSUIPAGE_INFO 结构的指针,描述应插入新页面的位置和方式

返回值 (CPSFUNC_INSERT_PSUIPAGE)

如果作成功,则 ComPropSheet 函数返回插入的页面集的句柄;否则,该函数返回 NULL。

CPSFUNC_LOAD_CPSUI_ICON

CPSFUNC_LOAD_CPSUI_ICON 函数代码会导致 ComPropSheet 函数加载 CPSUI 提供的图标资源。

CPSUI 调用 LoadImage 来加载指定的图标资源。

参数(CPSFUNC_LOAD_CPSUI_ICON)
  • hComPropSheet:组父句柄

  • 函数:调用方调用 comPropSheet 以加载 CPSUI 提供的图标资源 时,调用方将此函数代码参数设置为 CPSFUNC_LOAD_CPSUI_ICON

  • lParam1:要加载的 CPSUI 提供的图标的资源标识符。 这必须是 Compstui.h 中定义的IDI_CPSUI前缀标识符。

  • lParam2:指定表示图标大小的两个 WORD 大小值(以像素为单位)。 LOWORD 值是宽度,HIWORD 值是高度。 如果这些值为零,则使用系统指标SM_CXICON和SM_CYICON。 有关详细信息,请参阅 GetSystemMetrics

返回值(CPSFUNC_LOAD_CPSUI_ICON)

如果作成功,则 ComPropSheet 函数返回图标句柄;否则返回 NULL。

CPSFUNC_LOAD_CPSUI_STRING

CPSFUNC_LOAD_CPSUI_STRING 函数代码会导致 ComPropSheet 函数加载 CPSUI 提供的字符串资源。

ComPropSheet 函数调用 LoadString](/windows/win32/api/winuser/nf-winuser-loadstringw) 函数来加载指定的字符串。

参数(CPSFUNC_LOAD_CPSUI_STRING)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 ComPropSheet 以加载 CPSUI 提供的字符串资源时将此函数代码参数设置为 CPSFUNC_LOAD_CPSUI_STRING

  • lParam1:指向调用方分配的缓冲区的 LPSTR 类型指针,其中将放置 HIWORD(lParam2) 指定的 CPSUI 提供的字符串

  • lParam2:包含以下两个调用方提供的值:

    • LOWORD(lParam2)。 lParam1 指向的缓冲区的大小(以字节为单位)。

    • HIWORD(lParam2)。 要加载的 CPSUI 提供的字符串的资源标识符。 这必须是 Compstui.h 中定义的IDS_CPSUI前缀标识符。

返回值(CPSFUNC_LOAD_CPSUI_STRING)

如果作成功,则 ComPropSheet 函数返回字符串的长度。 如果指定了无效的资源标识符,该函数将返回零。 如果 lParam1 为 NULL 或 LOWORD(lParam2)为零,则该函数返回 -1。

CPSFUNC_QUERY_DATABLOCK

CPSFUNC_QUERY_DATABLOCK 函数代码导致 ComPropSheet 函数检索以前使用 CPSFUNC_SET_DATABLOCK 函数代码存储的调用方提供的数据块。

通常,此函数代码由_CPSUICALLBACK类型的回调函数使用(当函数的 CPSUICBPARAM 结构包含 CPSUICB_REASON_SETACTIVE原因值时),以检索与当前页变为非活动状态之前与另一页关联的值。

参数(CPSFUNC_QUERY_DATABLOCK)
  • hComPropSheet:组父句柄

  • 函数:调用方调用 ComPropSheet 检索调用方提供的数据块时,调用方将此函数代码参数设置为 CPSFUNC_QUERY_DATABLOCK

  • lParam1:指向 CPSUIDATABLOCK 结构的指针,该结构标识缓冲区的大小和位置以接收请求的数据块

  • lParam2:DWORD 大小的标识符值,用于标识请求 CPSUIDATABLOCK 结构。 此值必须在之前使用 CPSFUNC_SET_DATABLOCK 函数代码调用 ComPropSheet 中指定。

返回值 (CPSFUNC_QUERY_DATABLOCK)

如果作成功,则 ComPropSheet 函数返回一个值,该值表示检索到的数据块的大小。 如果 lParam1 为 NULL,或者所提供 CPSUIDATABLOCK 结构的任何成员的值为零,ComPropSheet 返回存储数据块所需的大小。 如果发生错误,该函数将返回小于或等于零的值。

CPSFUNC_SET_DATABLOCK

CPSFUNC_SET_DATABLOCK 函数代码导致 ComPropSheet 函数存储调用方提供的数据块。 可以使用此函数代码使有关属性表页的信息可供其他页面使用。

通常,此函数代码由_CPSUICALLBACK类型的回调函数(当函数的 CPSUICBPARAM 结构包含 reason 值 CPSUICB_REASON_KILLACTIVE)使用,以在页面变为非活动状态之前保存与页面关联的值。

参数(CPSFUNC_SET_DATABLOCK)
  • hComPropSheet:组父句柄

  • 函数:调用方调用 comPropSheet 存储调用方提供的数据块 时,调用方将此函数代码参数设置为 CPSFUNC_SET_DATABLOCK

  • lParam1:指向描述要存储的数据块的 CPSUIDATABLOCK 结构的指针

  • lParam2:调用方定义的 DWORD 大小的标识符值。 它用于使用 CPSFUNC_QUERY_DATABLOCK 函数代码在后续调用 ComPropSheet 时标识提供的 CPSUIDATABLOCK 结构。

返回值(CPSFUNC_SET_DATABLOCK)

如果作成功,则 ComPropSheet 函数返回一个值,该值表示存储的字节数;否则,它将返回小于或等于零的值。

CPSFUNC_SET_DMPUB_HIDEBITS

CPSFUNC_SET_DMPUB_HIDEBITS 函数代码会导致 ComPropSheet 函数“隐藏”一组指定的文档属性选项,以便不显示它们。

如果要为一个或多个文档属性表选项定义 OPTITEM 结构,但不希望这些选项是用户可修改的,则可以使用 CPSFUNC_SET_DMPUB_HIDEBITS 函数代码。 必须使用 COMPROPSHEETUI 结构定义属性表页,并且结构的 pDlgPage 成员必须 CPSUI_PDLGPAGE_DOCPROPCPSUI_PDLGPAGE_ADVDOCPROP

如果使用 CPSFUNC_SET_DMPUB_HIDEBITS 函数代码,则必须在 CPSFUNC_ADD_PCOMPROPSHEETUICPSFUNC_INSERT_PSUIPAGE 函数代码用于创建页面之前 ComPropSheet

参数(CPSFUNC_SET_DMPUB_HIDEBITS)
  • hComPropSheet:组父句柄

  • 函数:调用方调用 comPropSheet“隐藏”指定的文档属性选项集时,调用方将此函数代码参数设置为 CPSFUNC_SET_DMPUB_HIDEBITS

  • lParam1:指向指示要隐藏的选项的位数组的指针。 必须使用 MAKE_DMPUB_HIDEBIT(DMPub) 宏创建此数组,其中 DMPub 是一个或多个DMPUB_前缀常量的 OR 组合。 DMPUB_前缀常量列在 OPTITEM 结构的说明中。 宏和常量在 Compstui.h 中定义。

  • lParam2:未使用,必须为零

返回值(CPSFUNC_SET_DMPUB_HIDEBITS)

如果作成功,则 ComPropSheet 函数返回为 lParam1指定的值;否则返回零。

CPSFUNC_SET_FUSION_CONTEXT

CPSFUNC_SET_FUSION_CONTEXT 为指定页面设置 Fusion 激活上下文。

当页面即将创建或插入并且它未在其 PROPSHEETPAGE 结构中指定激活上下文时,它将在父页面激活上下文中创建。

如果未设置父级的激活上下文,则 Compstui.dll 查找父级的父级,继续直到达到顶级父级,或者直到找到激活上下文正确设置的父级。

如果父级都没有激活上下文集,则 Compstui.dll 将不会在 propSHEETPAGE 结构中指定激活上下文。 这意味着将在 PropertySheet 函数的调用方激活上下文中创建页面。

参数(CPSFUNC_SET_FUSION_CONTEXT)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_SET_FUSION_CONTEXT,以设置指定页面的 Fusion 激活上下文

  • lParam1:指定 Fusion 上下文的句柄。 Compstui.dll 复制句柄,将其附加到其内部结构,以便调用方不强制保留句柄。 Compstui.dll 删除 Compstui.dll 句柄时释放传入的上下文句柄。

  • lParam2:未使用,必须为零

返回值(CPSFUNC_SET_FUSION_CONTEXT)

如果作成功,ComPropSheet 函数将返回大于零的值。 否则,ComPropSheet 返回小于或等于零的值。 有关错误的信息,请使用 GetLastError 函数。

CPSFUNC_SET_HSTARTPAGE

CPSFUNC_SET_HSTARTPAGE 函数代码导致 ComPropSheet 函数将指定的属性表页标记为关联属性表的顶部页。 如果当前显示属性表,则指定的页面将成为活动页。

参数(CPSFUNC_SET_HSTARTPAGE)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_SET_HSTARTPAGE,以将指定的属性表页标记为关联属性表的顶部页

  • lParam1:调用方提供的 CPSUI 页面句柄,以前通过以下函数代码之一调用 ComPropSheet 获取:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PCOMPROPSHEETUI

    • CPSFUNC_ADD_PFNPROPSHEETUI

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE

    如果句柄表示属于由 hComPropSheet指定的组的单个页面,则 CPSUI 会将此页面设置为首页。

    如果句柄表示组父句柄(见 CPSFUNC_INSERT_PSUIPAGE),则 lParam2 表示组页中的从零开始的索引,由索引表示的页面将成为顶部页。

  • lParam2:如果 lParam1 表示组父句柄,则此调用方提供的值是组页中的从零开始的索引。 如果 lParam1 表示属于由 hComPropSheet指定的组的单个页面,则不使用此参数。 如果使用 CPSFUNC_ADD_PCOMPROPSHEETUI 函数代码获取由 lParam1 指定的句柄,并且关联 COMPROPSHEETUI 结构的 pDlgPage 成员设置为 CPSUI_PDLGPAGE_DOCPROP,则可以为 lParam2指定以下值之一:

    • SSP_STDPAGE1 - 将“布局”页设为顶部页面。

    • SSP_STDPAGE2 - 将纸张/质量页面设为首页。

    • SSP_TVPAGE - 将“高级”页设为顶部页面。

返回值 (CPSFUNC_SET_HSTARTPAGE)

如果作成功,则 ComPropSheet 函数返回为 lParam1指定的值;否则返回零。

CPSFUNC_SET_PSUIPAGE_ICON

CPSFUNC_SET_PSUIPAGE_ICON 函数代码会导致 ComPropSheet 函数添加、替换或删除分配给属性表页选项卡的图标。

如果 lParam2 包含图标句柄,并且当前显示由 lParam1 指定的页面,则 CPSUI 会将图标添加到指定页面的选项卡中。如果已向页面分配图标,旧图标将替换为新图标。 如果 lParam2 为零,则删除当前图标(如果存在)。

对于使用 CPSFUNC_SET_PSUIPAGE_ICON 函数代码指定的所有图标,CPSUI 将图像大小设置为 16 x 16 像素。

应通过调用 LoadImage来获取图标句柄。

参数 (CPSFUNC_SET_PSUIPAGE_ICON)
  • hComPropSheet:组父句柄

  • 函数:调用方调用 comPropSheet 以添加、替换或删除分配给属性表页选项卡的图标时,调用方将此函数代码参数设置为 CPSFUNC_SET_PSUIPAGE_ICON

  • lParam1:调用方提供的 CPSUI 页面句柄,以前通过以下函数代码之一调用 ComPropSheet 获取:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGEINSERTPSUIPAGE_INFO 结构的 Type 成员设置为 PSUIPAGEINSERT_HPROPSHEETPAGEPSUIPAGEINSERT_PROPSHEETPAGE

  • lParam2:调用方提供的图标句柄。 可以将此参数设置为零以删除当前图标

返回值(CPSFUNC_SET_PSUIPAGE_ICON)

如果作成功,则 ComPropSheet 函数返回 1。 如果遇到错误,或者当前未显示指定的页面,该函数将返回零。

CPSFUNC_SET_PSUIPAGE_TITLE

CPSFUNC_SET_PSUIPAGE_TITLE 函数代码会导致 ComPropSheet 函数设置属性表页的选项卡标题。

参数(CPSFUNC_SET_PSUIPAGE_TITLE)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_SET_PSUIPAGE_TITLE,以设置属性表页的选项卡标题

  • lParam1:调用方提供的 CPSUI 页面句柄,以前通过以下函数代码之一调用 ComPropSheet 获取:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGEINSERTPSUIPAGE_INFO 结构的 Type 成员设置为 PSUIPAGEINSERT_HPROPSHEETPAGEPSUIPAGEINSERT_PROPSHEETPAGE)。

  • lParam2:调用方提供的指向指定新标题的 NULL 终止字符串的指针

返回值 (CPSFUNC_SET_PSUIPAGE_TITLE)

如果作成功,则 ComPropSheet 函数返回 1。 如果遇到错误,或者当前未显示指定的页面,该函数将返回零。

CPSFUNC_SET_RESULT

CPSFUNC_SET_RESULT 函数代码使 ComPropSheet 函数将指定的结果值传递给与指定页面及其父级关联的所有 PFNPROPSHEETUI 类型函数。

有关如何设置结果值的详细信息,请参阅 SETRESULT_INFO 结构的说明。

以下警告适用于使用自定义 UI 属性表的基于 Unidrv 或 Pscript5 的 IHV UI 插件,以及属性表中创建的用户设置应为持久。 当插件调用 ComPropSheet 函数时,函数参数设置为 CPSFUNC_SET_RESULT,插件必须将 lParam2 参数设置为 CPSUI_OK

参数(CPSFUNC_SET_RESULT)
  • hComPropSheet:组父句柄

  • 函数:调用方在调用 comPropSheet 时将此函数代码参数设置为 CPSFUNC_SET_RESULT,以将指定的结果值传递给与指定页面及其父级关联的所有 PFNPROPSHEETUI 类型函数。

  • lParam1:调用方提供的 CPSUI 句柄传递给要为其传递结果值的页。 如果 lParam1 为 NULL,则 CPSUI 使用由 hComPropSheet指定的值。

  • lParam2:调用方提供的 32 位 DWORD 结果值。

返回值 (CPSFUNC_SET_RESULT)

如果作成功,ComPropSheet 函数将返回调用的 PFNPROPSHEETUI 类型函数的数目。 如果为 lParam1 指定的句柄无效,该函数将返回 -1。

要求

要求 价值
目标平台 桌面
标头 compstui.h (包括 Compstui.h)