SetupHookProc

Die SetupHookProc -Hook-Prozedur ist eine anwendungsdefinierte oder Bibliothek definierten Callbackfunktion mit die PrintDlg -Funktion verwendet. Die Hook-Prozedur empfängt Nachrichten oder Mitteilungen, die für die Standard-Dialogfeldprozedur im Dialogfeld Druckeinrichtung gemeinsame bestimmt.

Der LPSETUPHOOKPROC -Typ definiert einen Zeiger auf diese Callback-Funktion. SetupHookProc ist ein Platzhalter für den Namen der Anwendung definierten oder Bibliothek definierte Funktion.

(UINT Rückruf SetupHookProc HWND  Hdlg,, / / handle auf das Dialogfenster FeldUINTuiMsg, / / message IDWPARAMwParam, / / message ParameterLPARAMlParam / / message Parameter);
 

Parameter

hdlg
Handle für das Druckeinrichtung gemeinsame Dialogfeld Feld Fenster für das die Nachricht bestimmt ist.
uiMsg
Identifiziert die Nachricht empfangen wird.
wParam
Gibt zusätzliche Informationen über die Nachricht. Die genaue Bedeutung hängt vom Wert des Parameters uiMsg.
lParam
Gibt zusätzliche Informationen über die Nachricht. Die genaue Bedeutung hängt vom Wert des Parameters uiMsg.

Rückgabewerte

Wenn die Hook-Prozedur gibt NULL zurück, verarbeitet die Standard-Dialogfeldprozedur die Nachricht.

Wenn die Hook-Prozedur einen Wert ungleich NULL zurückgibt, ignoriert die Standard-Dialogfeldprozedur die Nachricht.

Bemerkungen

Das Dialogfeld Druckeinrichtung hat durch das Dialogfeld Seite einrichten ersetzt, die von neuen Anwendungen verwendet werden sollen. Jedoch weiterhin für die Kompatibilität, die PrintDlg -Funktion Anzeige im Dialogfeld Druckeinrichtung unterstützen. Sie bieten eine SetupHookProc -Hook-Prozedur für das Dialogfeld Druckeinrichtung , Nachrichten oder Mitteilungen für die Dialogfeldprozedur bestimmt verarbeiten.

Um die Hook-Prozedur zu aktivieren, verwenden Sie die PRINTDLG -Struktur, die Sie an das Dialogfeld Schaffung Funktion übergeben. Geben Sie die Adresse der die Hook-Prozedur in den LpfnSetupHook und geben das PD_ENABLESETUPHOOK-Flag in den Flags an.

Die Standard-Dialogfeldprozedur verarbeitet die WM_INITDIALOG-Meldung vor der Übergabe an die Hook-Prozedur. Für alle anderen Nachrichten empfängt die Hook-Prozedur die Nachricht zuerst. Dann, die Hook-Prozedur der Rückgabewert bestimmt, ob das Standard-Dialogfeld-Verfahren die Nachricht verarbeitet oder ignoriert.

Wenn die Hook-Prozedur die WM_CTLCOLORDLG -Nachricht verarbeitet, muss einen gültiger Pinsel-Handle für den Hintergrund im Dialogfeld zurückgegeben. Im Allgemeinen wenn die Hook-Prozedur jede Nachricht WM_CTLCOLOR * verarbeitet, muss einen gültiger Pinsel-Handle für den Hintergrund des angegebenen Steuerelements zurückgeben.

Rufen Sie nicht die EndDialog -Funktion von der Hook-Prozedur. Stattdessen kann die Hook-Prozedur die PostMessage -Funktion eine WM_COMMAND-Meldung mit der IDABORT-Wert, der die Dialogfeldprozedur Post aufrufen. IDABORT schließt das Dialogfeld und bewirkt, dass die Dialogfeld Feld Funktion FALSE zurück. Wenn Sie müssen wissen, warum die Hook-Prozedur das Dialogfeld geschlossen, müssen Sie Ihre eigenen Kommunikationsmechanismus zwischen die Hook-Prozedur und Ihre Anwendung bereitstellen.

Sie können eine Unterklasse der Standardsteuerelemente im Dialogfeld gemeinsame. Allerdings kann die gemeinsamen Dialogfeldprozedur auch Unterklasse der Steuerelemente. Aus diesem Grund sollten Sie Unterklasse Steuerelemente, wenn die Hook-Prozedur die WM_INITDIALOG-Meldung verarbeitet. Dies stellt sicher, dass Ihre Unterklasse-Prozedur die Steuerelement-spezifische Nachrichten vor der Unterklasse-Prozedur festlegen, indem das Dialogfeld im Feld Prozedur empfängt.

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Nicht unterstützt.
Header:In commdlg.h deklariert.
Importieren Bibliothek:Benutzerdefinierte.

Siehe auch

Übersicht über common Dialog Box Library, allgemeine Dialogfeld Feld Funktionen, EndDialog, PrintDlg, PRINTDLG, PostMessage, WM_INITDIALOG, WM_CTLCOLORDLG

Index