Freigeben über


Abgeleitete Fensterklassen

Sie können direkt aus CWnd Fenster erstellen, oder leiten Sie neue CWnd von Fensterklassen.Dies ist i. d. R., wie Sie eigene benutzerdefinierte Fenster erstellen.Allerdings sind die meisten Fenster in einem Rahmenprogramm verwendet werden, CWnd- stattdessen aus einem Rahmenfenster abgeleiteten Klassen erstellt, die von MFC angegeben werden.

Rahmenfenster-Klassen

  • CFrameWnd
    Für Frames mit SDI-Rahmenfenster ein einzelnes Dokument und ihre Ansicht.Das Rahmenfenster ist das Hauptrahmenfenster für die Anwendung und das Rahmenfenster für das aktuelle Dokument.

  • CMDIFrameWnd
    Wird als das Hauptrahmenfenster für MDI-Anwendungen.Das Hauptrahmenfenster ist ein Container für alle MDI-Dokumentfenster und gibt seine Menüleiste mit ihnen frei.Ein MDI-Rahmenfenster ist ein Fenster der obersten Ebene, das sich auf dem Desktop angezeigt wird.

  • CMDIChildWnd
    Wird für die einzelnen Dokumente geöffnet in einem MDI-Hauptrahmenfenster.Jedes Dokument und die Ansicht werden von einem untergeordneten MDI-Rahmenfenster Formen, das vom MDI-Hauptrahmenfenster enthalten ist.Ein untergeordnetes MDI-Fenster sieht ähnlich wie ein typisches Rahmenfenster wird jedoch innerhalb eines MDI-Rahmenfensters enthalten, anstatt sich auf dem Desktop befinden soll.Allerdings verfügt das untergeordnete MDI-Fenster eine Menüleiste und eigene muss der Menüleiste des MDI-Rahmenfensters freigeben, das sie enthält.

    Weitere Informationen finden Sie unter Rahmenfenster.

Andere CWnd abgeleitet von Fensterklassen

Zusätzlich zu den Rahmenfenstern sind einige andere wesentliche Kategorien von Windows CWnd abgeleitet:

  • Ansichten
    Sichten werden mithilfe CWnd abgeleitete Klasse CView erstellt (oder eine der davon abgeleiteten Klassen).Eine Sicht ist an ein Dokument angefügt und fungiert als Mittler zwischen dem Dokument und dem Benutzer.Eine Sicht ist ein untergeordnetes Fenster (kein untergeordnetes MDI-Element) füllt normalerweise den Clientbereich eines SDI-Rahmenfensters oder des untergeordneten MDI-Rahmenfensters (oder dieses Teils des Clientbereichs abgedeckt nicht über eine Symbolleiste und/oder eine Statusleiste).

  • Dialogfelder
    Dialogfelder werden mithilfe CWnd abgeleitete Klasse CDialog erstellt.

  • Formulare
    Formularansichten Ressourcen auf Grundlage von Dialogfeldvorlagen, z. B. Dialogfelder, werden mithilfe der Klassen CFormView, CRecordView oder CDaoRecordView erstellt.

  • Steuerelemente
    Schaltflächen, Steuerelemente, z. B. Listen- und Kombinationsfelder werden mithilfe anderer Klassen erstellt, die von CWnd abgeleitet sind.Weitere Informationen finden Sie unter Themen Steuerelements.

  • Steuerleisten
    Untergeordnete Fenster, die Steuerelemente enthalten.Beispiele sind symbolleisten und Statusleisten.Weitere Informationen finden Sie unter Steuerleisten.

Fensterklassen-Hierarchie

Weitere Informationen finden Sie unter Diagramm MFC-Hierarchien in der MFC-Referenz an.Sichten werden in Dokument-/Ansichtarchitektur erläutert.Dialogfelder werden in Dialogfelder erläutert.

Erstellen eigener Fensterklassen für einen besonderen Zweck

Neben den Fensterklassen, die aus der Klassenbibliothek bereitgestellt werden, benötigen Sie möglicherweise untergeordnete Fenster für spezielle Zwecke.Um ein solches Fenster erstellen, der Ihre eigene CWnd abgeleitete Klasse erstellt und ein untergeordnetes Fenster von Rahmen oder Ansicht erstellen.Bedenken Sie, dass das Framework den Extent des Clientbereichs eines Dokumentrahmenfensters verwaltet.Die meisten des Clientbereichs wird durch eine Sicht verwaltet, aber andere Fenster, z oder eigene benutzerdefinierte Steuerleisten Fenster weisen möglicherweise das Leerzeichen mit der Ansicht frei.Möglicherweise müssen Sie mit den Mechanismen in Klassen und CViewCControlBar für die Positionierung von untergeordneten MDI-Fenstern im Clientbereich eines Rahmenfensters interagieren.

Erstellen von Windows erläutert die Erstellung von Fensterobjekten und Windows-Fenster, die sie verwalten.

Siehe auch

Konzepte

Fensterobjekte