Ein Hochformat der Dokument-/Ansichtarchitektur
Dokumente und Ansichten werden in einer normalen MFC-Anwendung zugeordnet.Daten werden im Dokument gespeichert, aber die Sicht hat privilegierten Zugriff auf die Daten.Die Trennung des Dokuments aus der Ansicht trennt den Speicher und die Verwaltung von Daten aus seiner Anzeige.
So erhalten Dokumenten-Daten aus der Ansicht
Die Ansicht greift auf die Daten des Dokuments entweder mit der GetDocument-Funktion, die einen Zeiger auf das Dokument zurückgibt, oder indem der Ansichtsklassen wechselstrom ++ friend der Dokumentklasse macht.Die Ansicht verwendet dann den Zugriff auf die Daten, um die Daten abzurufen, wenn er bereit ist, ihn zu zeichnen oder zu bearbeiten.
Beispielsweise von der OnDraw-Memberfunktion der Ansicht, wird die Ansicht GetDocument, um ein Zeiger auf das Dokument.Anschließend verwendet er diesen Zeiger, um einen CString Datenmember im Dokument zuzugreifen.Die Ansicht wird die Zeichenfolge in die TextOut-Funktion.Den Code für dieses Beispiel finden Sie Zeichnungen in einer Ansicht.
Benutzereingaben in die Ansicht
Die Ansicht interpretierte möglicherweise auch einen Mausklick in sich entweder als Auswahl oder Bearbeitung von Daten.Entsprechend interpretierte sie möglicherweise Tastenanschläge als Dateneingabe oder Bearbeiten.Nehmen Sie die Benutzer eine Zeichenfolge in einer Ansicht an, in die Text verwaltet.Die Ansicht wird ein Zeiger auf das Dokument, und verwendet den Mauszeiger, um die neuen Daten an das Dokument zu übermitteln, das sie in einer Datenstruktur gespeichert werden.
Mehrere Ansichten desselben Dokuments aktualisieren
In einer Anwendung mit mehreren Ansichten desselben Dokuments — z. B. ein Splitterfenster in einem Texteditor:Die Ansicht zuerst die neuen Daten in das Dokument.Anschließend ruft es die UpdateAllViews-Memberfunktion des Dokuments mit allen Ansichten des Dokuments anzeigt, um sich selbst zu aktualisieren und gibt die neuen Daten.Dieses synchronisiert die Sichten.