Freigeben über


EXTPUSH-Struktur (compstui.h)

Die EXTPUSH-Struktur wird von CPSUI-Anwendungen (einschließlich Druckerschnittstellen-DLLs) zum Angeben einer erweiterten Drucktaste verwendet, die einer Eigenschaftenblattseitenoption hinzugefügt werden kann. Wenn die Schaltfläche gedrückt wird, kann ein neues Dialogfeld angezeigt werden.

Syntax

typedef struct _EXTPUSH {
  WORD      cbSize;
  WORD      Flags;
  LPTSTR    pTitle;
  union {
    DLGPROC DlgProc;
    FARPROC pfnCallBack;
  } DUMMYUNIONNAME;
  ULONG_PTR IconID;
  union {
    WORD   DlgTemplateID;
    HANDLE hDlgTemplate;
  } DUMMYUNIONNAME2;
  ULONG_PTR dwReserved[3];
} EXTPUSH, *PEXTPUSH;

Member

cbSize

Größe der EXTPUSH-Struktur in Bytes.

Flags

Bitflags, die eines der folgenden sein können:

Flag Beschreibung
EPF_ICONID_AS_HICON Wenn festgelegt, enthält das IconID-Element ein Symbolhandle. Falls nicht festgelegt, enthält das IconID-Element einen Symbolressourcenbezeichner.
EPF_INCLUDE_SETUP_TITLE Wenn festgelegt, fügt CPSUI "Setup" an die Zeichenfolge an, auf die pTitle verweist.
EPF_NO_DOT_DOT_DOT Wenn festgelegt, fügt CPSUI "..." nicht an. auf die Zeichenfolge, auf die pTitle verweist.
EPF_OVERLAY_NO_ICON Falls festgelegt, überlagert CPSUI sein IDI_CPSUI_NO-Symbol mit dem symbol, das durch das IconID-Element identifiziert wird.
EPF_OVERLAY_STOP_ICON Falls festgelegt, überlagert CPSUI das IDI_CPSUI_STOP-Symbol auf das symbol, das durch das IconID-Element identifiziert wird.
EPF_OVERLAY_WARNING_ICON Falls festgelegt, überlagert CPSUI sein IDI_CPSUI_WARNING-Symbol mit dem symbol, das durch das IconID-Element identifiziert wird.
EPF_PUSH_TYPE_DLGPROC Wenn festgelegt, sind die Elemente DlgProc und DlgTemplateID/hDlgTemplate gültig. Wenn nicht festgelegt, ist das pfnCallBack-Element gültig.
EPF_USE_HDLGTEMPLATE Wenn festgelegt, enthält hDlgTemplate ein Vorlagenhandle. Falls nicht festgelegt, enthält DlgTemplateID einen Vorlagenressourcenbezeichner.

pTitle

Zeichenfolgenbezeichner, der den Titel der Drucktaste darstellt. Dies kann ein 32-Bit-Zeiger auf eine NULL-beendete Zeichenfolge oder ein 16-Bit-Zeichenfolgenressourcenbezeichner sein, bei dem HIWORD auf Null festgelegt ist.

DUMMYUNIONNAME

Definiert die DUMMYUNIONNAME-Union .

DUMMYUNIONNAME.DlgProc

DLGPROC-typisierter Zeiger auf eine Dialogfeldprozedur zum Verarbeiten von Nachrichten für das Dialogfeld der Druckschaltfläche. Weitere Informationen zur Verwendung von DialogProc finden Sie weiter unten im Abschnitt Hinweise .

Wenn dieser Zeiger angegeben wird, muss EPF_PUSH_TYPE_DLGPROC in Flags festgelegt werden.

DUMMYUNIONNAME.pfnCallBack

Zeiger auf eine _CPSUICALLBACK typisierte Rückruffunktion, um den CPSUICB_REASON_PUSHBUTTON Grund zu behandeln. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Wenn dieser Zeiger angegeben wird, muss EPF_PUSH_TYPE_DLGPROC in Flags gelöscht werden.

IconID

Einer der folgenden Symbolbezeichner:

  • Ein Symbolressourcenbezeichner. Dies kann anwendungsdefiniert sein oder einer der von CPSUI bereitgestellten, IDI_CPSUI Symbolressourcenbezeichner sein.

  • Ein Symbolhandle. Wenn ein Handle angegeben ist, muss EPF_ICONID_AS_HICON im Flags-Element festgelegt werden.

  • CPSUI zeigt das Symbol neben der Schaltfläche an. Wenn dieser Wert 0 ist, wird kein Symbol angezeigt.

DUMMYUNIONNAME2

Definiert die DUMMYUNIONNAME2 Union.

DUMMYUNIONNAME2.DlgTemplateID

Gibt die Ressourcen-ID für das Dialogfeld an.

Wenn DlgTemplateID = 0 ist, ruft die allgemeine Benutzeroberfläche DlgProc mit dem folgenden Parameter auf:

DlgProc(hDlg, WM_USER, NULL, (LPARAM)pCPSUICBParam);

DUMMYUNIONNAME2.hDlgTemplate

Handle mit der DLGTEMPLATE , die für ein Popupdialogfeld verwendet wird.

dwReserved[3]

Reserviert, muss mit 0 initialisiert werden.

Hinweise

Eine erweiterte Drucktaste ist ein cpSUI-definierter Drucktastentyp, der einer OPTITEM-Struktur zugeordnet werden kann. Einer OPTITEM-Struktur kann eine erweiterte Drucktaste oder ein erweitertes Kontrollkästchen zugeordnet sein.

Wenn Sie die EXTPUSH-Struktur zum Erstellen einer Schaltfläche verwenden, können Sie optional ein zusätzliches Dialogfeld erstellen, das geöffnet wird, wenn der Benutzer auf die Schaltfläche klickt. Um dieses Dialogfeld zu erstellen, sollten Sie einen Zeiger auf eine Dialogfeldprozedur im DlgProc-Member angeben und eine Dialogfeldvorlagenspezifikation entweder in die DlgTemplateID oder den hDlgTemplate-Member einschließen.

Wenn EPF_USE_HDLGTEMPLATE in Flags festgelegt ist, erstellt CPSUI das Dialogfeld, indem DialogBoxIndirectParam aufgerufen und der Inhalt der Elemente DlgProc und hDlgTemplate übergeben wird.

Wenn EPF_USE_HDLGTEMPLATE nicht in Flags festgelegt ist, erstellt CPSUI das Dialogfeld durch Aufrufen von DialogBoxParam und übergeben den Inhalt der Elemente DlgProc und DlgTemplateID .

Wenn die Dialogfeldprozedur mit dem uMsg-Wert WM_INITDIALOG aufgerufen wird, ist der lParam-Wert die Adresse einer CPSUICBPARAM-Struktur , wobei das Reason-Member auf CPSUICB_REASON_EXTPUSH festgelegt ist. Weitere Informationen zu den Parametern uMsg und lParam finden Sie unter DialogProc.

Wenn Sie CPSUI nicht benötigen, um ein Dialogfeld anzuzeigen, wenn der Benutzer auf die Schaltfläche klickt, können Sie die Adresse einer _CPSUICALLBACK typisierten Rückruffunktion im pfnCallBack-Member angeben. Wenn ein Benutzer auf die Schaltfläche klickt, ruft CPSUI die Rückruffunktion auf. Das Reason-Element der begleitenden CPSUICBPARAM-Struktur wird auf CPSUICB_REASON_EXTPUSH festgelegt.

Anforderungen

Anforderung Wert
Header compstui.h (einschließlich Compstui.h)

Weitere Informationen

EXTCHKBOX