EXTPUSH

typedef struct _EXTPUSH {

    WORD                  cbSize;

    WORD                  Flags;

    LPTSTR                pTitle;

    union {

        DLGPROC           DlgProc;

        FARPROC           pfnCallBack;

    }

    DWORD                 IconID;

    union {

        WORD              DlgTemplateID;

        HANDLE            hDlgTemplate;

    }

    DWORD                 dwReserved[3];

} EXTPUSH, *PEXTPUSH;

The EXTPUSH structure describes the extended push button available on an OPTITEM. Each option item can optionally have one extended push button callback or one extended check box callback.

Members

cbSize

Size of this structure in bytes.

Flags

Bitmask that describes the extended push button. This field can be a bitwise OR of the following values.

Flag Description
EPF_PUSH_TYPE_DLGPROC The extended push button has a DLGPROC function associated with it. The CPSUI uses the DlgProc and DlgTemplateID fields.
EPF_INCLUDE_SETUP_TITLE The CPSUI appends “Setup” to the string to which pTitle points.
EPF_NO_DOT_DOT_DOT The CPSUI does not append “…” to the string to which pTitle points.
EPF_ICONID_AS_HICON The CPSUI interprets IconID as a handle to an icon rather than as a resource ID.
EPF_OVERLAY_WARNING_ICON The CPSUI overlays its IDI_CPSUI_WARNING icon on the icon associated with this push button.
EPF_OVERLAY_STOP_ICON The CPSUI overlays its IDI_CPSUI_STOP icon on the icon associated with this push button.
EPF_OVERLAY_NO_ICON The CPSUI overlays its IDI_CPSUI_NO icon on the icon associated with this push button.
EPF_USE_HDLGTEMPLATE The CPSUI uses the hDlgTemplate field to obtain the dialog box template.

pTitle

Pointer to a null-terminated string to be used as the extended push button title, or a resource ID.

DlgProc

Pointer to a caller-supplied DLGPROC function. The CPSUI calls the Win32 DialogBoxParam function with this function pointer, and passes a pointer to the CPSUICBPARAM structure — with the Reason field set to CPSUICB_REASON_EXTPUSH — to the WM_INITDIALOG message. If DlgProc is null, the CPSUI assumes that the extended push button is disabled. If DlgProc is not null, the CPSUI calls it only when the EPF_PUSH_TYPE_DLGPROC flag is set.

pfnCallBack

Pointer to a _CPSUICALLBACK callback. The CPSUI calls the function to which pfnCallBack points only when the EPF_PUSH_TYPE_DLGPROC flag is not set. The CPSUI passes a pointer to the CPSUICBPARAM structure as the parameter to this callback.

IconID

Identifies the icon to be associated with this push button. This field can be a standard IDI_CPSUI_Xxx icon ID, a caller’s icon resource ID, or, if the EPF_ICONID_AS_HICON bit is set in Flags, a handle to a caller-defined icon. If IconID is zero, the selectable entry does not have an icon associated with it.

DlgTemplateID

Specifies the resource ID for the dialog box.

hDlgTemplate

Handle to the DLGTEMPLATE that the CPSUI uses to display the dialog box.

dwReserved[3]

Reserved; these fields must be set to zero.

Comments

The EXTPUSH structure describes the extended push button available on an OPTITEM.

The pTitle parameter is either a pointer to a null-terminated string or an integer value that specifies a resource identifier. If pTitle specifies a resource identifier, its high-order word must be zero and its low-order word must contain the identifier.

See Also

OPTITEM