Die Frame-Fensterprozedur schreiben

Die Fensterprozedur für ein MDI-Rahmenfenster ist ähnlich wie ein nicht-MDI-Anwendung im Hauptfenster. Der Unterschied ist, dass eine Frame-Fensterprozedur übergibt alle Nachrichten, die es nicht an die DefFrameProc -Funktion, anstatt die DefWindowProc -Funktion verarbeitet. Darüber hinaus muss die Frame-Fensterprozedur auch einige Nachrichten übergeben, die es handhabt, einschließlich der in der folgenden Tabelle aufgeführten,.

Nachricht Antwort
WM_COMMAND Aktiviert das untergeordnete MDI-Fenster, das der Benutzer auswählt. Diese Nachricht wird gesendet, wenn der Benutzer ein untergeordnetes MDI-Fenster aus dem Menü Fenster von MDI-Rahmenfenster. Der Fenster-Bezeichner begleiten diese Nachricht identifiziert das untergeordnete MDI-Fenster aktiviert werden.
WM_MENUCHAR Öffnet das Fenstermenü für das aktive untergeordnete MDI-Fenster wenn der Benutzer die Alt drückt +-(minus) Tastenkombination.
WM_SETFOCUS Übergibt den Tastaturfokus auf das MDI-Client-Fenster, das wiederum an das aktive untergeordnete MDI-Fenster wird.
WM_SIZE Das MDI-Client-Fenster in den neuen Frame Clientbereich des Fensters passt die Größe ändert. Wenn die Frame-Fensterprozedur das MDI-Client-Fenster mit einer anderen Größe Größen, sollte es nicht die Nachricht an die DefWindowProc -Funktion übergeben.

Das Frame-Fenster-Verfahren in Multipad wird MPFrameWndProc genannt. Der Umgang mit anderen Nachrichten von MPFrameWndProc ähnelt der von nicht-MDI-Anwendungen. WM_COMMAND Nachrichten in Multipad werden durch die lokal definierten CommandHandler Funktion behandelt. CommandHandler fordert Befehlsmeldungen, die Multipad nicht verarbeitet, die DefFrameProc -Funktion. Wenn Multipad DefFrameProc standardmäßig nicht verwendet, kann der Benutzer ein untergeordnetes Fenster über das Menü Fenster aktivieren, da die WM_COMMAND-Nachricht gesendet, indem das Fenster Menüelement verloren gehen würden.

Index