Freigeben über


EXTPUSH-Struktur (compstui.h)

Die EXTPUSH- Struktur wird von CPSUI-Anwendungen (einschließlich Druckerschnittstellen-DLLs) zum Angeben einer erweiterten Taste 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;

Angehörige

cbSize

Größe der EXTPUSH- Struktur in Byte.

Flags

Bit-Flags, die eine der folgenden Sein können:

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

pTitle

Zeichenfolgenbezeichner, der den Titel der Pushschaltfläche darstellt. Dies kann ein 32-Bit-Zeiger auf eine NULL-beendete Zeichenfolge sein, oder es kann sich um einen 16-Bit-Zeichenfolgenressourcenbezeichner mit HIWORD-Wert 0 handeln.

DUMMYUNIONNAME

Definiert die DUMMYUNIONNAME Union.

DUMMYUNIONNAME.DlgProc

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

Wenn dieser Zeiger angegeben wird, muss EPF_PUSH_TYPE_DLGPROC in Flagsfestgelegt werden.

DUMMYUNIONNAME.pfnCallBack

Zeiger auf eine _CPSUICALLBACK-typed callback function to handle the CPSUICB_REASON_PUSHBUTTON reason. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

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

IconID

Einer der folgenden Symbolbezeichner:

  • Ein Symbolressourcenbezeichner. Dies kann anwendungsdefiniert sein, oder es kann sich um einen der von CPSUI bereitgestellten, IDI_CPSUI-Präfix-Symbolressourcenbezeichner handeln.

  • Ein Symbolziehpunkt. Wenn ein Handle angegeben ist, muss EPF_ICONID_AS_HICON im Flags Member festgelegt werden.

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

DUMMYUNIONNAME2

Definiert die DUMMYUNIONNAME2 Union.

DUMMYUNIONNAME2.DlgTemplateID

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

Wenn DlgTemplateID = 0 aufruft die allgemeine Benutzeroberfläche DlgProc mit folgendem Parameter:

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

DUMMYUNIONNAME2.hDlgTemplate

Handle to the DLGTEMPLATE which will be used for a pop up dialog box.

dwReserved[3]

Reserviert, muss auf Null initialisiert werden.

Bemerkungen

Ein erweiterter Knopfdruck ist ein CPSUI-definierter Typ von Knopfdruck, der einer OPTITEM Struktur zugeordnet werden kann. Eine OPTITEM- Struktur kann über einen erweiterten Knopfdruck oder ein erweitertes Kontrollkästchen verfügen.

Wenn Sie die EXTPUSH- Struktur verwenden, um eine Schaltfläche zu erstellen, 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--Element angeben und eine Dialogfeldvorlagenspezifikation entweder in der DlgTemplateID- oder im hDlgTemplate Member einschließen.

Wenn EPF_USE_HDLGTEMPLATE in Flagsfestgelegt ist, erstellt CPSUI das Dialogfeld durch Aufrufen DialogBoxIndirectParam-, übergeben den Inhalt der DlgProc- und hDlgTemplate Member.

Wenn EPF_USE_HDLGTEMPLATE nicht in Flagsfestgelegt ist, erstellt CPSUI das Dialogfeld durch Aufrufen von DialogBoxParam-und übergibt den Inhalt der DlgProc- und DlgTemplateID Member.

Wenn die Dialogfeldprozedur mit einem uMsg- Wert von WM_INITDIALOG aufgerufen wird, ist der lParam- Wert die Adresse einer CPSUICBPARAM--Struktur, wobei der 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-typierten Rückruffunktion im pfnCallBack Member angeben. Wenn ein Benutzer auf die Schaltfläche klickt, ruft CPSUI die Rückruffunktion auf. Das zugehörige CPSUICBPARAM-Strukturelement Reason Member wird auf CPSUICB_REASON_EXTPUSH festgelegt.

Anforderungen

Anforderung Wert
Header- compstui.h (include Compstui.h)

Siehe auch

EXTCHKBOX-