Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Domyślnie Kreator aplikacji MFC tworzy szkielet aplikacji z klasą dokumentów i klasą widoku. MFC oddziela zarządzanie danymi na te dwie klasy. Dokument przechowuje dane i zarządza drukowaniem danych i koordynuje aktualizowanie wielu widoków danych. Widok wyświetla dane i zarządza interakcją użytkownika z nimi, w tym wybór i edytowanie.
W tym modelu obiekt dokumentu MFC odczytuje i zapisuje dane w magazynie trwałym. Dokument może również udostępniać interfejs danych, gdziekolwiek się znajduje (na przykład w bazie danych). Oddzielny obiekt widoku zarządza wyświetlaniem danych, od renderowania danych w oknie po wybór użytkownika i edytowanie danych. Widok uzyskuje dane do wyświetlenia z dokumentu i komunikuje z dokumentem wszelkie zmiany danych.
Chociaż można łatwo zastąpić lub zignorować separację dokumentu/widoku, w większości przypadków istnieją przekonujące powody, aby postępować zgodnie z tym modelem. Jedną z zalet jest możliwość uzyskania wielu widoków tego samego dokumentu, takich jak arkusz kalkulacyjny i widok wykresu. Model dokumentu/widoku umożliwia oddzielny obiekt widoku reprezentujący każdy widok danych, podczas gdy kod wspólny dla wszystkich widoków (takich jak aparat obliczeń) może znajdować się w dokumencie. Dokument wykonuje również zadanie aktualizowania wszystkich widoków za każdym razem, gdy dane się zmieniają.
Architektura dokumentu/widoku MFC ułatwia obsługę wielu widoków, wielu typów dokumentów, okien rozdzielanych i innych cennych funkcji interfejsu użytkownika.
Elementy struktury MFC najbardziej widoczne zarówno dla użytkownika, jak i dla Ciebie, programisty, są dokumentem i widokiem. Większość pracy podczas tworzenia aplikacji z wykorzystaniem frameworka skupia się na pisaniu klas dokumentów i widoków. Ta seria artykułów opisuje:
Cele dokumentów i widoków oraz sposobu ich interakcji ze strukturą.
Co należy zrobić, aby je zaimplementować.
W centrum dokumentu/widoku znajdują się cztery kluczowe klasy:
Klasa CDocument (lub COleDocument) obsługuje obiekty używane do przechowywania lub kontrolowania danych programu i udostępnia podstawowe funkcje klas dokumentów zdefiniowanych przez programistów. Dokument reprezentuje jednostkę danych, którą użytkownik zwykle otwiera za pomocą polecenia Otwórz w menu Plik i zapisuje polecenie Zapisz w menu Plik.
Obiekt CView (lub jedna z wielu klas pochodnych) udostępnia podstawowe funkcje klas widoków zdefiniowanych przez programistów. Widok jest dołączany do dokumentu i działa jako pośrednik między dokumentem a użytkownikiem: widok renderuje obraz dokumentu na ekranie i interpretuje dane wejściowe użytkownika jako operacje na dokumencie. Widok renderuje również obraz do drukowania i podglądu wydruku.
Obiekt CFrameWnd (lub jedna z jego odmian) obsługuje obiekty, które udostępniają ramkę wokół jednego lub kilku widoków dokumentu.
CDocTemplate (lub CSingleDocTemplate lub CMultiDocTemplate) obsługuje obiekt, który koordynuje jeden lub więcej istniejących dokumentów danego typu i zarządza tworzeniem poprawnych obiektów dokumentów, widoków i okien ramowych dla tego typu.
Na poniższej ilustracji przedstawiono relację między dokumentem a jego widokiem.
Dokument i Widok
Implementacja dokumentu/widoku w bibliotece klas oddziela dane od jego wyświetlania i od operacji użytkownika na danych. Wszystkie zmiany w danych są zarządzane za pośrednictwem klasy dokumentów. Widok wywołuje ten interfejs w celu uzyskania i aktualizacji danych.
Dokumenty, skojarzone z nimi widoki i okna ramowe zawierające widoki są tworzone przez szablon dokumentu. Szablon dokumentu jest odpowiedzialny za tworzenie wszystkich dokumentów jednego typu dokumentu i zarządzanie nimi.
Co chcesz dowiedzieć się więcej o
Zobacz także
Elementy interfejsu użytkownika
Windows
Okna ramowe
Szablony dokumentów i proces tworzenia dokumentu/widoku
Tworzenie dokumentu/widoku
Tworzenie nowych dokumentów, okien i widoków