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
调用方提供的值,该值依赖于为 Function 提供的 ComPropSheet 函数代码。
[in] lParam2
调用方提供的值,该值依赖于为 Function 提供的 ComPropSheet 函数代码。
返回值
返回值取决于为 Function 提供的 ComPropSheet 函数代码。
注解
当 CPSUI 调用应用程序的 PFNPROPSHEETUI 类型函数之一时,它会在PROPSHEETUI_INFO结构中传递指向 ComPropSheet 函数的指针。 PFNPROPSHEETUI 类型的函数可以调用 ComPropSheet 函数来描述 CPSUI 的属性表页。
打印机接口 DLL 可以从其 DrvDocumentPropertySheets 函数或其 DrvDevicePropertySheets 函数中调用 ComPropSheet。
Microsoft Unidrv 和 Pscript 驱动程序的用户界面插件可以从其 IPrintOemUI::D ocumentPropertySheets 和 IPrintOemUI::D evicePropertySheets 方法中调用 ComPropSheet。
为 hComPropSheet 参数指定的组父句柄可以是以下任一项:
在 PROPSHEETUI_INFO 结构的 hComPropSheet 成员中收到的句柄。
由于以前使用CPSFUNC_INSERT_PSUIPAGE函数代码调用 ComPropSheet 并将 PSUIPAGEINSERT_GROUP_PARENT 指定为 INSERTPSUIPAGE_INFO 结构的 Type 成员,因此收到的句柄。
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 以添加 PROPSHEETPAGE 结构描述的属性表页的类型时,将此函数代码参数设置为CPSFUNC_ADD_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 通过将CPSUICB_REASON_APPLYNOW原因传递给应用程序的_CPSUICALLBACK类型的回调函数来响应CPSFUNC_DO_APPLY_CPSUI函数代码。
参数 (CPSFUNC_DO_APPLY_CPSUI)
hComPropSheet:组父句柄
函数:调用方在调用 ComPropSheet 以模拟PSN_APPLY通知消息的传递时,将此函数代码参数设置为CPSFUNC_DO_APPLY_CPSUI
lParam1:CPSUI 句柄,指向一组一个或多个属性表页。 通常,此句柄以前已使用 CPSFUNC_IGNORE_CPSUI_PSN_APPLY 函数代码指定为 ComPropSheet 的 lParam1 参数。
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 句柄。 以前必须通过调用 ComPropSheet 和 CPSFUNC_ADD_PFNPROPSHEETUI 函数代码来获取此句柄。
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 通过将 CPSUICB_REASON_APPLYNOW 原因传递给应用程序的_CPSUICALLBACK类型的回调函数来响应此消息。
如果禁用 CPSUI 对PSN_APPLY通知消息的处理,则必须使用 CPSFUNC_DO_APPLY_CPSUI 函数代码来模拟PSN_APPLY消息的传递。 否则,无法获取对属性表页的用户更改。
如果未使用 CPSFUNC_IGNORE_CPSUI_PSN_APPLY 函数代码,则默认启用 CPSUI 对PSN_APPLY通知消息的处理。
参数 (CPSFUNC_IGNORE_CPSUI_PSN_APPLY)
hComPropSheet:组父句柄
函数:调用方在调用 ComPropSheet 以禁用或重新启用 CPSUI 对PSN_APPLY通知消息的处理时,将此函数代码参数设置为CPSFUNC_IGNORE_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 函数代码存储的调用方提供的数据块。
通常,当函数的 CPSUICBPARAM 结构包含 CPSUICB_REASON_SETACTIVE 的 Reason 值时,_CPSUICALLBACK类型的回调 函数 (使用此 函数代码,) 以在当前页变为非活动状态之前检索与另一页关联的值。
参数 (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 函数存储调用方提供的数据块。 可以使用此函数代码将属性表页的相关信息提供给其他页面。
通常,当函数的 CPSUICBPARAM 结构包含 reason 值为 (CPSUICB_REASON_KILLACTIVE) 时,_CPSUICALLBACK类型的回调函数使用此函数代码,以在页面变为非活动状态之前保存与页面关联的值。
参数 (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 函数代码,则必须先将它指定给 ComPropSheet ,然后才能使用 CPSFUNC_ADD_PCOMPROPSHEETUI 或 CPSFUNC_INSERT_PSUIPAGE 函数代码来创建页面。
参数 (CPSFUNC_SET_DMPUB_HIDEBITS)
hComPropSheet:组父句柄
函数:调用方在调用 ComPropSheet 以“隐藏”指定的文档属性选项集时将此函数代码参数设置为CPSFUNC_SET_DMPUB_HIDEBITS
lParam1:指向位数组的指针,该数组指示要隐藏的选项。 必须使用 MAKE_DMPUB_HIDEBIT ( DMPub) 宏创建此数组,其中 DMPub 是一个或多个DMPUB_前缀常量的 OR 组合。 OPTITEM 结构的说明中列出了DMPUB_前缀常量。 宏和常量在 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 以设置指定页面的 Fusion 激活上下文时,将此函数代码参数设置为 CPSFUNC_SET_FUSION_CONTEXT
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:组父句柄
函数:调用方将此函数代码参数设置为 CPSFUNC_SET_HSTARTPAGE ,当调用 ComPropSheet 将指定的属性表页标记为关联属性表的首页时
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 指定的组的单个页面,则不使用此参数。 如果 lParam1 指定的句柄是使用 CPSFUNC_ADD_PCOMPROPSHEETUI 函数代码获取的,并且关联的 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
将 INSERTPSUIPAGE_INFO 结构的 Type 成员设置为 PSUIPAGEINSERT_HPROPSHEETPAGE 或 PSUIPAGEINSERT_PROPSHEETPAGE) 的CPSFUNC_INSERT_PSUIPAGE (
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 插件,在属性表中所做的用户设置应是永久性的。 当插件调用 Function 参数设置为 CPSFUNC_SET_RESULT 的 ComPropSheet 函数时,插件必须将 lParam2 参数设置为CPSUI_OK。
参数 (CPSFUNC_SET_RESULT)
hComPropSheet:组父句柄
函数:调用方将此函数代码参数设置为 CPSFUNC_SET_RESULT ,当调用 ComPropSheet 将指定结果值传递给与指定页面及其父级关联的所有 PFNPROPSHEETUI 类型函数时。
lParam1:调用方提供的 CPSUI 句柄,指向要为其传递结果值的页。 如果 lParam1 为 NULL,则 CPSUI 使用 hComPropSheet 指定的值。
lParam2:调用方提供的 32 位 DWORD 结果值。
返回值 (CPSFUNC_SET_RESULT)
如果操作成功, ComPropSheet 函数将返回调用的 PFNPROPSHEETUI 类型函数的数目。 如果为 lParam1 指定的句柄无效,则函数返回 -1。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | compstui.h (包括 Compstui.h) |