CMDIChildWnd

Die CMDIChildWnd -Klasse stellt die Funktionalität eines Windows mehrere Dokument Interface (MDI) untergeordnete Fenster, zusammen mit den Mitgliedern für die Verwaltung des Fensters.

Ein untergeordnetes MDI-Fenster sieht viel wie ein typischer Rahmenfenster, mit der Ausnahme, dass das untergeordnete MDI-Fenster innerhalb einer MDI-Rahmenfenster statt auf dem Desktop angezeigt wird. Ein untergeordnetes MDI-Fenster nicht über eine eigene Menüleiste, aber stattdessen teilt das Menü der MDI-Rahmenfenster. Rahmen ändert automatisch das Menü des MDI-Frame um das momentan aktive untergeordnete MDI-Fenster darzustellen.

Um eine nützliche untergeordnete MDI-Fenster für Ihre Anwendung zu erstellen, leiten Sie eine Klasse von CMDIChildWnd. Fügen Sie Membervariablen der abgeleiteten Klasse zum Speichern von Daten, die spezifisch für Ihre Anwendung. Message Handler-Memberfunktionen implementieren und eine Nachricht Karte in der abgeleiteten Klasse angeben, was geschieht, wenn Nachrichten an das Fenster gerichtet sind.

Es gibt drei Möglichkeiten zum Erstellen eines untergeordneten MDI-Fensters:

Bevor Sie Erstellen oder LoadFrameaufrufen, müssen Sie das Frame-Fenster-Objekt auf dem Heap mit den new -Operator von C++ erstellen. Vor dem Aufruf von Create können Sie auch eine Fensterklasse mit globalen Funktion ist Symbol und Klasse Formatvorlagen für den Frame festlegen registrieren.

Verwenden Sie die Create -Memberfunktion die Frame-Erstellungsparameter als unmittelbare Argumente übergeben.

LoadFrame erfordert weniger Argumente als Erstellen, und ruft stattdessen die meisten seinen Standardwerten von Ressourcen, einschließlich des Rahmens Beschriftung, Symbol, Zugriffstastentabelle und Menü. Um LoadFrameerreichbar zu sein, müssen alle diese Mittel die gleiche Ressource-ID (z. B. IDR_MAINFRAME).

Wenn ein CMDIChildWnd -Objekt Ansichten und Dokumente enthält, werden sie indirekt durch das Framework anstelle von direkt vom Programmierer erstellt. Das CDocTemplate -Objekt steuert die Schaffung des Rahmens, die Schaffung der enthaltenden Ansichten, und die Verbindung von den Ansichten des entsprechenden Dokuments. Die Parameter des Konstruktors CDocTemplate geben CRuntimeClass der drei Klassen beteiligt (Dokument, Frame und Ansicht). Ein CRuntimeClass -Objekt wird vom Framework verwendet, um dynamisch neue Frames vom Benutzer angegeben (z. B. mithilfe der Befehl Datei neu oder Befehls MDI-Fenster neu) erstellen.

Eine Frame-Fenster von CMDIChildWnd abgeleitete Klasse muss in Reihenfolge für die oben genannten RUNTIME_CLASS Mechanismus ordnungsgemäß funktioniert mit DECLARE_DYNCREATE deklariert werden.

Die CMDIChildWnd -Klasse erbt viel die Standardimplementierung von CFrameWnd. Eine ausführliche Liste dieser Features finden Sie in der Beschreibung der CFrameWnd -Klasse. Die CMDIChildWnd -Klasse verfügt über die folgenden zusätzlichen features:

Verwenden Sie nicht den C++ Löschen Operator ein Rahmenfenster zu zerstören. Verwenden Sie stattdessen CWnd::DestroyWindow . Durchführungder CFrameWnd PostNcDestroy wird das C++-Objekt löschen, wenn das Fenster zerstört wird. Wenn der Benutzer das Frame-Fenster schließt, wird der Standardhandler OnClose DestroyWindow aufrufen.

Weitere Informationen über CMDIChildWnd, finden Sie unter Frame Fenster Themen im Visual C++ Programmer's Guide.

# include lt;afxwin.h>

Klassenmember |nbsp; Basisklasse | Hierarchiediagramm

Proben&Nbsp; MFC Sample MDI | MFC-Beispiel MDIBIND | MFC-Beispiel MDIDOCVW | MFC SNAPVW-Beispiel

Siehe auch&Nbsp;CWnd, CMDIFrameWnd

Index