Freigeben über


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.

cxcd8bht.collapse_all(de-de,VS.110).gifWorüber möchten Sie mehr erfahren?

Siehe auch

Konzepte

Dokument-/Ansichtarchitektur