CPSUICBPARAM 结构 (compstui.h)

CPSUICBPARAM 结构用作输入参数,用于 _CPSUICALLBACK类型化回调函数。

语法

typedef struct _CPSUICBPARAM {
  WORD      cbSize;
  WORD      Reason;
  HWND      hDlg;
  POPTITEM  pOptItem;
  WORD      cOptItem;
  WORD      Flags;
  POPTITEM  pCurItem;
  union {
    LONG   OldSel;
    LPTSTR pOldSel;
  } DUMMYUNIONNAME;
  ULONG_PTR UserData;
  ULONG_PTR Result;
} CPSUICBPARAM, *PCPSUICBPARAM;

成员

cbSize

CPSUI 提供的大小(以字节为单位)的 CPSUICBPARAM 结构。

Reason

CPSUI 提供的指示调用回调函数的原因的 CPSUI 值。 这可以是以下值之一:

CPSUICB_REASON_ABOUT

用户已单击页面的 “关于”按钮,应用程序之前在 COMPROPSHEETUI 结构中设置CPSUIF_ABOUT_CALLBACK标志。 CPSUI 将 pCurItem 设置为 pOptItem中包含的值,并将 pOldSel 设置为指向 COMPROPSHEETUI 结构。

CPSUICB_REASON_APPLYNOW

用户已单击页面 应用“确定”按钮,并且 CPSUI 收到 PSN_APPLY 通知消息。 CPSUI pCurItem 设置为指向 pOptItem 点的选项。 它还将 oldSel 设置为减 1,以指示现在应应用所有有效的更改选项值。

CPSUICB_REASON_DLGPROC

pCurItem 标识的选项是一个按下按钮(TVOT_PUSHBUTTON 选项类型),用户已单击该按钮。

按下按钮选项的 OPTPARAM Style 字段设置为PUSHBUTTON_TYPE_DLGPROC。

CPSUICB_REASON_ECB_CHANGED

pCurItem 标识的选项是一个扩展复选框,并且用户已更改该框的状态。

CPSUICB_REASON_EXTPUSH

pCurItem 标识的选项是一个扩展的按下按钮,用户已单击该按钮。

CPSUICB_REASON_ITEMS_REVERTED

用户单击了页面的 撤消 按钮,CPSUI 已将所有选择还原为其原始值。

CPSUICB_REASON_KILLACTIVE

属性表页即将丢失激活,CPSUI 已收到 PSN_KILLACTIVE 通知消息。 CPSUI pCurItem 设置为 pOptItem中包含的值,并将 pOldSel 设置为指向 COMPROPSHEETUI 结构。

CPSUICB_REASON_OPTITEM_SETFOCUS

pCurItem 标识的选项已收到输入焦点。

CPSUICB_REASON_PUSHBUTTON

pCurItem 标识的选项是一个按下按钮(TVOT_PUSHBUTTON 选项类型),用户已单击该按钮。

按下按钮项的 OPTPARAMStyle 字段设置为PUSHBUTTON_TYPE_CALLBACK。

CPSUICB_REASON_SEL_CHANGED

用户已更改由 pCurItem指向的选项的选定值。

CPSUICB_REASON_SETACTIVE

属性表页即将处于活动状态,CPSUI 已收到 PSN_SETACTIVE 通知消息。 CPSUI pCurItem 设置为 pOptItem中包含的值,并将 pOldSel 设置为指向 COMPROPSHEETUI 结构。

hDlg

CPSUI 提供的当前活动对话框的句柄。

pOptItem

CPSUI 提供的指向 OPTITEM 结构的数组的指针。 这是应用程序以前在 COMPROPSHEETUI 结构中提供的指针。

cOptItem

CPSUI 提供的数组中由 pOptItem指向的数组中的 OPTITEM 结构数。 这是应用程序以前在 COMPROPSHEETUI 结构中提供的相同数字。

Flags

CPSUI 提供的标志。 这是应用程序以前在 COMPROPSHEETUI 结构中提供的标志集。

pCurItem

CPSUI 提供的指针指向 pOptItem指向的 OPTITEM 数组的成员。 此数组成员表示“current”选项,即调用回调函数的选项。

DUMMYUNIONNAME

定义 DUMMYUNIONNAME 联合。

DUMMYUNIONNAME.OldSel

如果 Reason 成员包含CPSUICB_REASON_SEL_CHANGED,CPSUI 会将此联合设置为 OldSelpOldSel OPTITEM 结构指向的 OPTITEM 结构的成员。

对于所有其他 Reason 值,应忽略此联合的内容。

DUMMYUNIONNAME.pOldSel

如果 Reason 成员包含CPSUICB_REASON_SEL_CHANGED,CPSUI 会将此联合设置为 OldSelpOldSel OPTITEM 结构指向的 OPTITEM 结构的成员。

对于所有其他 Reason 值,应忽略此联合的内容。

UserData

CPSUI 提供的用户数据。 此值与应用程序以前在 COMPROPSHEETUI 结构中提供的值相同。

Result

_CPSUICALLBACK类型化回调函数提供的结果值。 默认情况下,CPSUI 将此值设置为CPSUI_OK。 回调函数返回后,CPSUI 使用函数代码 CPSFUNC_SET_RESULT调用其 ComPropSheet 函数,并将 Reason 成员内容作为结果值提供。

仅当 原因 成员CPSUICB_REASON_APPLYNOW且回调函数不返回CPSUI_ACTION_NO_APPLY_EXIT时,才使用此成员。

要求

要求 价值
标头 compstui.h (包括 Compstui.h)