Udostępnij za pośrednictwem


Portret architektury dokument/widok

Dokumenty i widoki są skojarzone w typowych aplikacji MFC.Dane są przechowywane w dokumencie, ale widok ma uprzywilejowany dostęp do danych.Oddzielenie dokumentu z widoku oddziela przechowywanie i zachowanie danych z jego wyświetlania.

Uzyskanie dostępu do dokumentu dane z widoku

Widok uzyskuje dostęp do danych w swoim dokumencie albo z GetDocument funkcja, która zwraca wskaźnik do dokumentu lub tworząc widok klasy C++ friend klasy dokumentu.Widok a następnie używa jej dostępu do danych do uzyskania danych, gdy jest ona gotowa do rysowania lub wprowadzenia innych zmian.

Na przykład z widoku OnDraw używa widoku funkcji członka, GetDocument celu uzyskania wskaźnika dokumentu.A następnie używa tego wskaźnika dostępu do CString członek danych w dokumencie.Widok przekazuje ciąg do TextOut funkcji.Aby wyświetlić kod w tym przykładzie, zobacz rysunku w widoku.

Do widoku wprowadzania danych przez użytkownika

Widok może także interpretować kliknięcia myszą w siebie jako zaznaczenia lub edycji danych.Podobnie może to zinterpretować nacionięcia klawiszy jako wprowadzania danych lub edycji.Załóżmy, że użytkownik wpisuje ciąg znaków w widoku, który zarządza tekstu.Widok uzyskuje wskaźnik do dokumentu i używa wskaźnika do przekazania nowe dane do dokumentu, który przechowuje je w określoną strukturę danych.

Aktualizowanie wielu widoków tego samego dokumentu

W aplikacji z wielu widoków tego samego dokumentu — takich jak okno podziału w edytorze tekstów — widok przechodzi najpierw nowe dane do dokumentu.Następnie wywołuje dokumentu UpdateAllViews funkcji członka, który informuje o tym wszystkich widoków dokumentu, aby zaktualizować, aby odzwierciedlić nowe dane.Synchronizuje widoki.

O czym chcesz się dowiedzieć więcej?

Zobacz też

Koncepcje

Architektura dokument/widok