Mehrere Dokumenttypen, Ansichten und Rahmenfenster
Die Standardbeziehung mit einem Dokument, seine Ansicht und seinem Rahmenfenster wird in Dokument/Ansichts-Erstellung beschrieben. Viel Anwendungsunterstützung ein einzelner Dokumenttyp (aber ggf. mehrere geöffnete Dokumente dieses Typs) mit einer einzelnen Ansicht auf das Dokument und nur ein Rahmenfenster pro Dokument. Einige Anwendungen müssen möglicherweise eine oder mehrere dieser Standardeinstellungen zu ändern.
Worüber möchten Sie mehr erfahren?
Mehrere Dokumenttypen
Mehrere Ansichten
Multiframefenster
Splitterfenster
Mehrere Dokumenttypen
Der MFC-Anwendungs-Assistent erstellt eine einzelne Dokumentklasse für Sie. In einigen Fällen müssen, Sie möglicherweise mehr als einen Dokumenttyp unterstützen müssen. Beispielsweise Entwerfen die Anwendung möglicherweise Arbeitsblatt benötigen und Dokumente. Jeder Dokumenttyp wird durch ihre eigene Dokumentklasse und wahrscheinlich durch seine eigene Ansichtsklasse auch dargestellt. Wenn der Benutzer den neuen Befehl der Datei auswählt, zeigt das Framework ein Dialogfeld an, das die unterstützten Dokumenttypen auflistet. Dann erstellt ein Dokument des Typs, den der Benutzer auswählt. Jeder Dokumenttyp wird mit einem besonderen Dokumentvorlagenobjekt verwaltet.
Um zusätzliche Dokumentklassen erstellen, finden Sie unter Hinzufügen einer Klasse. Klicken Sie auf CDocument als Klassentyp, um von ableiten und die angeforderten behandelten zu stellen. Implementieren Sie die neuen Daten der Klasse.
Um das Framework zu informieren über die zusätzlichen Dokumentklasse, müssen Sie einen zweiten Aufrufs AddDocTemplate in InitInstance Überschreibung der Anwendungsklasse hinzufügen. Weitere Informationen finden Sie unter Dokumentvorlagen.
Mehrere Ansichten
Viele Dokumente benötigen nur einer einzelnen Ansicht, jedoch ist es möglich, mehrere eine Ansicht eines Einzelbelegs zu unterstützen. Zur einfacheren Mehrere Ansichten zu implementieren, führt ein Document-Objekt eine Liste der Ansichten, stellt Memberfunktionen zum Hinzufügen und Entfernen von Ansichten bereit und stellt die UpdateAllViews für Memberfunktion Abgeben mehrerer Ansichten wissen wann die Daten des Dokuments geändert haben.
MFC unterstützt drei allgemeine Benutzeroberflächen, die mehrere Ansichten auf dasselbe Dokument benötigen. Diese Modelle sind:
Ansichtsobjekte derselben Klasse, jede in einem separaten MDI-Dokumentrahmenfenster.
Sie sollten das Erstellen eines zweiten Rahmenfensters auf einem Dokument unterstützen. Der Benutzer kann einen Befehl des neuen Fensters auswählen, zweiten Frame mit Blick auf dasselbe Dokument zu öffnen und die zwei Frames nutzen, um verschiedene Teile des Dokuments gleichzeitig anzuzeigen. Das Framework unterstützt den Befehl des neuen Fensters im Menü Fenster für MDI-Anwendungen, indem es das ursprüngliche Rahmenfenster und die Ansicht dupliziert, die dem Dokument zugeordnet.
Ansichtsobjekte derselben Klasse im gleichen Dokumentrahmenfenster.
Splitterfenster teilen das Ansichtsraum eines einzelnen Dokumentfensters in separate Ansichten der Vielfaches des Dokuments. Das Framework erstellt mehrere Ansichtsobjekte von derselben Ansichtsklasse. Weitere Informationen finden Sie unter Splitterfenster.
Ansichtsobjekte verschiedener Klassen in einem einzelnen Rahmenfenster.
In diesem Modell geben eine Abwandlung des Splitterfensters, mehrere Ansichten einem einzelnen Rahmenfenster frei. Die Ansichten werden von unterschiedlichen Klassen, jede Ansicht erstellt wird, die eine andere Weise bereitstellt, identisch Dokument anzuzeigen. Beispielsweise könnte eine Ansicht ein Textverarbeitungsdokument im normalen Modus an, während die andere Ansicht ihn im Konturenmodus anzeigt. Ein Splitter-Steuerelement ermöglicht dem Benutzer, die relativen Größen der Ansichten anzupassen.
Die folgende Abbildung, unterteilt in Teile a, b und c, werden die drei Benutzeroberflächemodelle in der Reihenfolge, die oben dargestellt wird.
Benutzeroberflächen mit mehreren Ansichten
Das Framework stellt diese Modelle vom Implementieren des Befehls " Neues Fenster und der Bereitstellung der Klasse CSplitterWnd bereit, wie in Splitterfenster erläutert. Sie können andere Modelle mithilfe dieser als Anfangspunkt implementieren. Für Beispielprogramme, die unterschiedliche Konfigurationen von Ansichten, von Rahmenfenstern und von Splittern veranschaulichen, finden Sie unter MFC-Beispiele.
Weitere Informationen zu UpdateAllViews, Klasse finden Sie unter CView in der MFC-Referenz und Scribble-Beispiel.
mehrere Frames Windows
Sie können den Befehl des neuen Fensters im Menü Fenster verwenden, sodass MDI-Anwendungen ein zweites Rahmenfenster auf demselben Dokument erstellen. Weitere Informationen finden Sie das erste Modell der Abbildung Mehrfachverbindungsstelle-Ansichts-Benutzeroberflächen.
Splitterfenster
In einem unterteilten, ist das Fenster oder kann sein, sich diese Unterteilung in zwei oder bildlauffähigere Bereiche. Ein Splitter-Steuerelement (oder "Teilungsfeld") im Fensterrahmen neben den Bildlaufleisten ermöglicht dem Benutzer, die relative Größe der Bereiche zu ändern. Jeder Bereich ist eine Ansicht auf dasselbe Dokument. "In den Dynamic" Splittern sind die Ansichten von derselben Klasse, z in Teil b der Abbildung Mehrfachverbindungsstelle-Ansichts-Benutzeroberflächen. "In statischen" Splittern können die Ansichten von unterschiedlichen Klassen sein. Splitterfenster beider Arten werden in die CSplitterWnd- Klasse unterstützt.
Dynamische Splitterfenster, mit Ansichten derselben Klasse, ermöglichen dem Benutzer, die ein Fenster in mehrere Bereiche nach Belieben zu teilen und verschiedene Bereiche dann einen Bildlauf durchzuführen, um verschiedene Teile des Dokuments zu finden. Der Benutzer kann ungeteilt das Fenster, die weitere Ansichten auch entfernen. Die Splitterfenster, die in Scribble-Beispiel hinzugefügt werden, sind ein Beispiel. In diesem Thema werden die Verfahren zum Erstellen von dynamischen Splitterfenstern. Ein dynamisches Splitterfenster wird in Teil b der Abbildung Mehrfachverbindungsstelle-Ansichts-Benutzeroberflächen.
Statische, Splitterfenster mit Ansichten verschiedener Klassen, beginnen mit dem Fenster in mehrere Bereiche aufgeteilt, jedes einem anderen Zweck. Im Bitmap-Editor Visual C++, zeigt das Bildfenster zwei Bereiche nebeneinander. Der linke Bereich wird ein Bild in Lebensgröße der Bitmaps an. Der rechte Bereich zeigt ein vergrößertes Bild gezoomtes oder gleicher Bitmap an. Die Bereiche werden durch eine Trennleiste "" getrennt, die der Benutzer kann, um die relative Größe der Bereiche zu ändern. Ein statisches Splitterfenster wird in Teil c der Abbildung Mehrfachverbindungsstelle-Ansichts-Benutzeroberflächen.
Weitere Informationen finden Sie in der MFC-Referenz-Klasse CSplitterWnd und MFC-Beispiele.