CFrameWnd

Die CFrameWnd -Klasse stellt die Funktionalität eines Windows single Document Interface (SDI) überlappt oder Pop-up-Rahmenfenster, zusammen mit den Mitgliedern für die Verwaltung des Fensters.

Um eine nützliche Rahmenfenster für Ihre Anwendung zu erstellen, leiten Sie eine Klasse von CFrameWnd. 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, ein Frame-Fenster erstellen:

Bevor Sie entweder Erstellen oder LoadFrameaufrufen, müssen Sie das Frame-Fenster-Objekt auf dem Heap mit den new -Operator von C++ erstellen. Vor dem Aufruf Erstellen, 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 CFrameWnd -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 mehrere Dokument Interface (MDI) Fenster Befehls neu) erstellen.

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

Ein CFrameWnd enthält Standardimplementierungen für die folgenden Funktionen ein Hauptfenster in einer typischen Anwendung für Windows:

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 CFrameWnd, finden Sie unter Frame Fenster Themen im Visual C++ Programmer's Guide.

# include lt;afxwin.h>

Klassenmember |nbsp; Basisklasse | Hierarchiediagramm

Siehe auch&Nbsp;CWnd, CMDIFrameWnd, CMDIChildWnd, CView, CDocTemplate, CRuntimeClass

Index