Dokument-/Ansichtsarchitektur

Der MFC-Anwendungs-Assistent erstellt standardmäßig ein Anwendungs Skelett mit einer Dokument Klasse und einer Ansichts Klasse. MFC trennt die Datenverwaltung in diese beiden Klassen. Das Dokument speichert die Daten und verwaltet das Drucken der Daten und Koordinaten zum Aktualisieren mehrerer Sichten der Daten. In der Ansicht werden die Daten angezeigt und die Benutzerinteraktion mit dem Benutzer, einschließlich Auswahl und Bearbeitung, verwaltet.

In diesem Modell liest und schreibt ein MFC-Dokument Objektdaten in den persistenten Speicher. Das Dokument kann auch eine Schnittstelle zu den Daten bereitstellen, wo Sie sich befindet (z. b. in einer Datenbank). Ein separates Ansichts Objekt verwaltet die Datenanzeige, von der Darstellung der Daten in einem Fenster bis zur Benutzer Auswahl und Bearbeitung von Daten. In der Ansicht werden Anzeigedaten aus dem Dokument abgerufen, und es werden alle Datenänderungen an das Dokument übermittelt.

Obwohl Sie die Trennung von Dokumenten/Ansichten problemlos überschreiben oder ignorieren können, gibt es in den meisten Fällen überzeugende Gründe, dieses Modell zu befolgen. Eine der besten ist, wenn Sie mehrere Ansichten desselben Dokuments benötigen, z. b. eine Tabelle und eine Diagramm Ansicht. Mit dem Dokument-/ansichtenmodell kann ein separates Ansichts Objekt jede Ansicht der Daten darstellen, während sich der Code, der für alle Sichten (z. b. ein Berechnungsmodul) üblich ist, im Dokument befinden kann. Außerdem übernimmt das Dokument die Aufgabe, alle Sichten zu aktualisieren, wenn sich die Daten ändern.

Die MFC-Dokument-/Ansichtarchitektur erleichtert die Unterstützung mehrerer Sichten, mehrerer Dokumenttypen, Splitter Fenster und anderer wertvoller Benutzeroberflächen Features.

Die Teile des MFC-Frameworks, die sowohl für den Benutzer als auch für Sie, Programmierer, sichtbar sind, sind das Dokument und die Ansicht. Die meiste Arbeit bei der Entwicklung einer Anwendung mit dem Framework führt Sie in das Schreiben von Dokument-und Ansichts Klassen. In dieser Artikel Familie wird Folgendes beschrieben:

  • Der Zweck von Dokumenten und Sichten und deren Interaktion im Framework.

  • Was Sie tun müssen, um Sie zu implementieren.

Das Herzstück der Dokumente/Ansicht sind vier Schlüssel Klassen:

Die CDocument -Klasse (oder COleDocument) unterstützt Objekte, die zum Speichern oder Steuern der Programm Daten verwendet werden, und stellt die grundlegende Funktionalität für von einem Programmierer definierte Dokument Klassen bereit. Ein Dokument stellt die Einheit der Daten dar, die der Benutzer in der Regel mit dem Befehl Öffnen im Menü Datei öffnet, und speichert mit dem Befehl Speichern im Menü Datei.

Die CView (oder eine der vielen abgeleiteten Klassen) stellt die grundlegende Funktionalität für von Programmierern definierte Ansichts Klassen bereit. Eine Sicht wird an ein Dokument angefügt und fungiert als Vermittler zwischen dem Dokument und dem Benutzer: die Ansicht rendert ein Bild des Dokuments auf dem Bildschirm und interpretiert Benutzereingaben als Vorgänge für das Dokument. Die Ansicht rendert auch das Bild für Druck-und Druckvorschau.

CFrameWnd (oder eine der zugehörigen Variationen) unterstützt Objekte, die den Frame um eine oder mehrere Ansichten eines Dokuments bereitstellen.

CDocTemplate (oder CSingleDocTemplate oder CMultiDocTemplate) unterstützt ein Objekt, das ein oder mehrere vorhandene Dokumente eines bestimmten Typs koordiniert und das Erstellen der richtigen Dokument-, Ansichts-und Rahmen Fenster Objekte für diesen Typ verwaltet.

Die folgende Abbildung zeigt die Beziehung zwischen einem Dokument und seiner Ansicht.

Die Ansicht ist Teil des angezeigten Dokuments
Dokument und Ansicht

Die Dokument-/Ansicht-Implementierung in der Klassenbibliothek trennt die Daten selbst von der Anzeige und von Benutzer Vorgängen für die Daten. Alle Änderungen an den Daten werden über die Document-Klasse verwaltet. Die Ansicht ruft diese Schnittstelle auf, um auf die Daten zuzugreifen und diese zu aktualisieren.

Dokumente, ihre zugeordneten Sichten und die Rahmen Fenster, in denen die Ansichten Frame laufen, werden von einer Dokument Vorlage erstellt. Die Dokument Vorlage ist für das Erstellen und Verwalten aller Dokumente eines Dokument Typs zuständig.

Was möchten Sie mehr erfahren?

Siehe auch

Elemente der Benutzeroberfläche
Windows
Rahmen Fenster
Dokumentvorlagen und der Erstellungs Vorgang für Dokumente/Sichten
Dokument-/ansichterstellung
Erstellen neuer Dokumente, Fenster und Ansichten