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) |