Freigeben über


CMDIFrameWnd-Klasse

Stellt die Rahmenfensterfunktionen Windows-MultipleDocument Interface), zusammen mit Member zum Verwalten des Fensters.

class CMDIFrameWnd : public CFrameWnd

Mitglieder

30a87cxk.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

CMDIFrameWnd::CMDIFrameWnd

Erstellt einen CMDIFrameWnd.

30a87cxk.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

CMDIFrameWnd::CreateClient

Stellt ein Fenster Windows MDICLIENT für dieses CMDIFrameWnd erstellt.Aufgerufen durch die OnCreate-Memberfunktion der CWnd.

CMDIFrameWnd::CreateNewChild

Stellt ein neues untergeordnetes Fenster erstellt.

CMDIFrameWnd::GetWindowMenuPopup

Gibt das Fensterpopupmenü zurück.

CMDIFrameWnd::MDIActivate

Aktiviert ein weiteres untergeordnetes MDI-Fenster.

CMDIFrameWnd::MDICascade

Ordnet alle untergeordneten überlappende Fenster in einem Format an.

CMDIFrameWnd::MDIGetActive

Ruft das aktuell aktive untergeordnete MDI-Fenster ab, zusammen mit einem Flag angibt, ob das untergeordnete Element maximiert wird.

CMDIFrameWnd::MDIIconArrange

Ordnet alle minimierten Dokumentenuntergeordneten Vorschaufenster an.

CMDIFrameWnd::MDIMaximize

Maximiert untergeordnetes MDI-Fenster.

CMDIFrameWnd::MDINext

Ermöglicht das untergeordnete Fenster unmittelbar hinter dem derzeit aktiven untergeordneten Fenster und platziert momentan aktiven untergeordneten Fenster hinter allen anderen untergeordneten Fenstern.

CMDIFrameWnd::MDIPrev

Ermöglicht das vorherige untergeordnete Fenster und gibt das aktuell aktive untergeordnete Fenster unmittelbar hinter es.

CMDIFrameWnd::MDIRestore

Stellt ein untergeordnetes MDI-Fenster von erhöht oder minimiertem Größe zurückgesetzt.

CMDIFrameWnd::MDISetMenu

Ersetzt das Menü eines MDI-Rahmenfensters, des Fensterpopupmenüs oder der beider.

CMDIFrameWnd::MDITile

Ordnet alle untergeordneten Fenster in einem gekachelten Format an.

Hinweise

Um ein nützliches MDI-Rahmenfenster für die Anwendung zu erstellen, leiten Sie eine Klasse von CMDIFrameWnd.Fügen Sie Membervariablen der abgeleiteten Klasse Speicherdatenbesonderen der Anwendung hinzu.Implementieren Sie Meldungshandlermemberfunktionen und eine Meldungszuordnung in der abgeleiteten Klasse, um anzugeben, was geschieht, wenn Meldungen in das Fenster verwiesen werden.

Sie können ein MDI-Rahmenfenster erstellen, indem Sie die Erstellen Sie oder LoadFrame-Memberfunktion der CFrameWnd aufrufen.

Bevor Sie Create oder LoadFrame aufrufen, müssen Sie das Rahmenfensterobjekt auf dem Heap mithilfe des Operators C++ new erstellen.Bevor kann das Aufrufen von Create Sie eine Fensterklasse mit der globalen Funktion AfxRegisterWndClass auch registrieren, um die Symbol- und Klassenformate für den Frame festzulegen.

Verwenden Sie die Create-Memberfunktion, um die Erstellungsparameter der Rahmen als unmittelbare Argumente zu übergeben.

LoadFrame erfordert weniger Argumente als Create und ruft stattdessen den Großteil der Standardwerte von Ressourcen, einschließlich der Frame die Beschriftung, das Symbol, die Zugriffstastentabelle und das Menü ab.Damit von LoadFrame zugegriffen werden, müssen für alle diese Ressourcen dieselbe Ressourcen-ID (beispielsweise, IDR_MAINFRAME).

Obwohl MDIFrameWnd von CFrameWnd abgeleitet ist, berechnete eine Rahmenfensterklasse von CMDIFrameWnd muss, nicht mit DECLARE_DYNCREATE deklariert werden.

Die Klasse erbt CMDIFrameWnd viel der Standardimplementierung von CFrameWnd.Eine ausführliche Liste dieser Funktionen, verweisen Sie auf die CFrameWnd-Klassenbeschreibung an.Die CMDIFrameWnd-Klasse verfügt über die folgenden zusätzlichen Funktionen:

  • Ein MDI-Rahmenfenster verwaltet das MDICLIENT Fenster und weist dieses in Verbindung mit Steuerleisten neu an.Das MDI-Clientfenster ist das übergeordnete Element direkt von untergeordneten MDI-Rahmenfenstern.Die WS_HSCROLL und WS_VSCROLL Fensterstile, die auf CMDIFrameWnd angegeben werden, gelten für das MDI-Clientfenster anstatt das Hauptrahmenfenster zu, sodass der Benutzer den MDI-Clientbereich Scrollen (wie im Windows-Programm-Manager).

  • Ein MDI-Rahmenfenster besitzt ein Standard Menü, das als die Menüleiste verwendet wird, wenn kein aktives untergeordnetes MDI-Fenster gibt.Wenn es ein aktiven untergeordneten MDI-Fenster gibt, wird die Menüleiste des MDI-Rahmenfensters automatisch das Menü des untergeordneten MDI-Fensters ersetzt.

  • Ein MDI-Rahmenfenster funktioniert in Verbindung mit dem aktuellen untergeordneten MDI-Fenster, wenn ein aktives gibt.Beispielsweise werden Befehlsmeldungen dem aktuell aktiven untergeordneten MDI-Fenster vor dem MDI-Rahmenfenster delegiert.

  • Ein MDI-Rahmenfenster hat Standardhandler für die folgenden Standardfenstermenübefehle:

    • ID_WINDOW_TILE_VERT

    • ID_WINDOW_TILE_HORZ

    • ID_WINDOW_CASCADE

    • ID_WINDOW_ARRANGE

  • Ein MDI-Rahmenfenster verfügt auch über eine Implementierung von ID_WINDOW_NEW, die neuer Rahmen und eine Ansicht für das aktuelle Dokument erstellt.Eine Anwendung kann diese Standardeinstellung Befehlsimplementierungen überschreiben, um MDI-Fensterbehandlung anzupassen.

Verwenden Sie den Operator C++ delete, um ein Rahmenfenster zu zerstören.Verwenden Sie stattdessen CWnd::DestroyWindow.Die CFrameWnd Implementierung von PostNcDestroy löscht das C++-Objekt, wenn das Fenster zerstört wird.Wenn der Benutzer das Rahmenfenster enthält, wird der Standardwert OnClose-Handler DestroyWindow auf.

Weitere Informationen zu CMDIFrameWnd, finden Sie unter Rahmenfenster.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CFrameWnd

CMDIFrameWnd

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CFrameWnd-Klasse

Hierarchien-Diagramm

CWnd-Klasse

CMDIChildWnd-Klasse

Konzepte

MFC Sampling MDI

MFC-Beispiel MDIDOCVW

MFC-Beispiel SNAPVW