Sdílet prostřednictvím


Portrét architektury dokument/zobrazení

Dokumenty a zobrazení jsou spárovány v typické aplikaci MFC. Data jsou uložená v dokumentu, ale zobrazení má privilegovaný přístup k datům. Oddělení dokumentu od zobrazení odděluje ukládání a údržbu dat od jeho zobrazení.

Získání přístupu k datům dokumentu ze zobrazení

Zobrazení přistupuje k datům dokumentu buď pomocí funkce GetDocument , která vrací ukazatel na dokument, nebo tím, že zobrazení třídy dokumentu představuje třídu C++ friend . Zobrazení pak pomocí svého přístupu k datům získá data, když je připravené nakreslit nebo jinak s nimi manipulovat.

Například z členské funkce zobrazení OnDraw používá zobrazení GetDocument k získání ukazatele dokumentu. Potom tento ukazatel použije pro přístup k datovému CString členu v dokumentu. Zobrazení předá funkci řetězec TextOut . Pokud chcete zobrazit kód pro tento příklad, podívejte se na výkres v zobrazení.

Uživatelský vstup do zobrazení

Zobrazení může také interpretovat kliknutí myší uvnitř sebe jako výběr nebo úpravy dat. Podobně může interpretovat stisknutí kláves jako zadávání nebo úpravy dat. Předpokládejme, že uživatel zadá do zobrazení řetězec, který spravuje text. Zobrazení získá ukazatel na dokument a použije ukazatel k předání nových dat do dokumentu, který je uloží do určité datové struktury.

Aktualizace více zobrazení stejného dokumentu

V aplikaci s více zobrazeními stejného dokumentu , například rozděleným oknem v textovém editoru, se v zobrazení nejprve předá nová data do dokumentu. Potom volá členskou funkci UpdateAllViews dokumentu, která informuje všechna zobrazení dokumentu, aby se aktualizovala a odrážela nová data. Tím se synchronizují zobrazení.

O čem chcete vědět víc

Viz také

Architektura dokumentů a zobrazení