OFNHookProcOldStyle

Die OFNHookProcOldStyle -Hook-Prozedur ist eine anwendungsdefinierte oder Bibliothek definierte Callback-Funktion, die mit dem Öffnen und Speichern Standarddialogfelder verwendet wird. Die Funktion empfängt Nachrichten oder Mitteilungen für die Dialogfeldprozedur bestimmt.

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

Wenn Sie das OFN_EXPLORER-Flag beim Öffnen oder Speichern unter gemeinsamen ein Dialogfeld erstellen, und Sie eine Hook-Prozedur möchten angeben, müssen Sie eine Explorer-Stil OFNHookProc -Hook-Prozedur verwenden.

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

Parameter

hdlg
Handle für das Öffnen oder Speichern unter 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 .

Wenn der UiMsg -Parameter die WM_INITDIALOG -Meldung angibt, ist lParam ein Zeiger auf eine OPENFILENAME 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 GetOpenFileName oder GetSaveFileName -Funktion verwenden, erstellen Sie ein Dialogfeld Öffnen oder Speichern unter alten Stil, bieten Ihnen eine OFNHookProcOldStyle -Hook-Prozedur. Um die Hook-Prozedur zu aktivieren, verwenden Sie die OPENFILENAME -Struktur, die Sie an das Dialogfeld Schaffung Funktion übergeben. Geben Sie den Zeiger auf die Hook-Prozedur in den LpfnHook und geben das OFN_ENABLEHOOK-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, GetOpenFileName, GetSaveFileName, OFNHookProc, OPENFILENAME, WM_INITDIALOG

Index