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 ocumentPropertySheets 和 IPrintOemUI::D evicePropertySheets 方法。
为 hComPropSheet 参数指定的 组父 句柄可以是以下任一参数:
hComPropSheet 中接收的句柄PROPSHEETUI_INFO 结构的成员。
由于以前使用 CPSFUNC_INSERT_PSUIPAGE 函数代码调用 comPropSheet,并将PSUIPAGEINSERT_GROUP_PARENT指定为 INSERTPSUIPAGE_INFO 结构的 类型 成员而接收的句柄。
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_PFNPROPSHEETUI。 ComPropSheet 然后调用指定的 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:此参数是以下位标志的任意组合:
返回值(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_DOCPROP 或 CPSUI_PDLGPAGE_ADVDOCPROP。
如果使用 CPSFUNC_SET_DMPUB_HIDEBITS 函数代码,则必须在 CPSFUNC_ADD_PCOMPROPSHEETUI 或 CPSFUNC_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_PSUIPAGE(INSERTPSUIPAGE_INFO 结构的 Type 成员设置为 PSUIPAGEINSERT_HPROPSHEETPAGE 或 PSUIPAGEINSERT_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_PSUIPAGE(INSERTPSUIPAGE_INFO 结构的 Type 成员设置为 PSUIPAGEINSERT_HPROPSHEETPAGE 或 PSUIPAGEINSERT_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) |