PageSetupHook

Die PageSetupHook -Hook-Prozedur ist eine anwendungsdefinierte oder Bibliothek definierte Callback-Funktion mit der PageSetupDlg -Funktion verwendet. Die Funktion empfängt Nachrichten oder Mitteilungen, die für die Standard-Dialogfeldprozedur im Dialogfeld Seite einrichten gemeinsamer bestimmt.

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

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

Parameter

hdlg
Handle für die Seite einrichten Dialogfenster Feld 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.

Wenn der UiMsg -Parameter die WM_INITDIALOG -Meldung angibt, ist lParam ein Zeiger auf eine PAGESETUPDLG Struktur enthält die Werte angegeben, wenn das Standarddialogfeld erstellt wurde.

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

Wenn Sie die PageSetupDlg -Funktion verwenden, um ein häufig verwendetes Dialogfeld Seite einrichten erstellen, erhalten Sie eine PageSetupHook -Hook-Prozedur zum Verarbeiten von Nachrichten oder Mitteilungen für die Dialogfeldprozedur bestimmt. Um die Hook-Prozedur zu aktivieren, verwenden Sie die PAGESETUPDLG -Struktur, die Sie an das Dialogfeld Schaffung Funktion übergeben. Geben Sie den Zeiger auf die Hook-Prozedur in den LpfnPageSetupHook und geben das PSD_ENABLEPAGESETUPHOOK-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, PageSetupDlg, PAGESETUPDLG, PostMessage, WM_INITDIALOG, WM_CTLCOLORDLG

Index