Megosztás a következőn keresztül:


Dokumentum-/nézetarchitektúra

Az MFC alkalmazásvarázsló alapértelmezés szerint létrehoz egy alkalmazásvázlatot egy dokumentumosztály és egy nézetosztály használatával. Az MFC a két osztályra bontja az adatkezelést. A dokumentum tárolja az adatokat, és kezeli az adatok nyomtatását, és koordinálja az adatok több nézetének frissítését. A nézet megjeleníti az adatokat, és kezeli a felhasználók interakcióit, beleértve a kijelölést és a szerkesztést.

Ebben a modellben egy MFC-dokumentumobjektum beolvassa és beírja az adatokat az állandó tárolóba. A dokumentum bárhol is legyenek, biztosíthat felületet az adatok számára, például egy adatbázisban. Egy külön nézetobjektum kezeli az adatmegjelenítést, az adatok egy ablakban való megjelenítésétől az adatok felhasználói kiválasztásáig és szerkesztéséhez. A nézet lekérte a dokumentum megjelenítési adatait, és visszaküldi a dokumentumnak az adatváltozásokat.

Bár könnyen felülírhatja vagy figyelmen kívül hagyhatja a dokumentum/nézet elkülönítését, a legtöbb esetben meggyőző érvek állnak rendelkezésre a modell követésére. Az egyik legjobb megoldás, ha ugyanarra a dokumentumra több nézetre van szüksége, például egy számolótáblára és egy diagramnézetre is. A dokumentum-/nézetmodell lehetővé teszi, hogy egy külön nézetobjektum az adatok minden nézetét képviselje, míg az összes nézetre (például egy számítási motorra) jellemző kód a dokumentumban található. A dokumentum azt a feladatot is elvégzi, hogy minden nézetet frissítsen, amikor az adatok megváltoznak.

Az MFC dokumentum-/nézetarchitektúra megkönnyíti a több nézet, a több dokumentumtípus, a felosztóablakok és más értékes felhasználói felületi funkciók támogatását.

Az MFC-keretrendszernek a felhasználó és Ön, a programozó számára is leginkább látható részei a dokumentum és a nézet. A keretrendszerrel rendelkező alkalmazások fejlesztésében végzett munka nagy része a dokumentum írásába és az osztályok megtekintésébe kerül. Ez a cikkcsalád a következőket ismerteti:

  • A dokumentumok és nézetek célja, valamint azok használata a keretrendszerben.

  • A megvalósításukhoz szükséges teendők.

A dokumentum/nézet középpontjában négy fő osztály áll:

A CDocument (vagy COleDocument) osztály támogatja a program adatainak tárolására vagy szabályozására használt objektumokat, és biztosítja a programozó által definiált dokumentumosztályok alapvető funkcióit. A dokumentum azt az adategységet jelöli, amelyet a felhasználó általában a Fájl menü Megnyitás parancsával nyit meg, és a Fájl menü Mentés parancsával ment.

A CView (vagy a számos származtatott osztály egyike) biztosítja a programozó által definiált nézetosztályok alapvető funkcióit. A nézet egy dokumentumhoz van csatolva, és közvetítőként működik a dokumentum és a felhasználó között: a nézet a dokumentum képét jeleníti meg a képernyőn, és a felhasználói bemenetet műveletekként értelmezi a dokumentumon. A nézet a képet mind a nyomtatáshoz, mind a nyomtatási előnézethez megjeleníti.

A CFrameWnd (vagy annak egyik változata) támogatja azokat az objektumokat, amelyek a dokumentum egy vagy több nézete körül biztosítják a keretet.

A CDocTemplate (vagy CSingleDocTemplate vagy CMultiDocTemplate) olyan objektumokat támogat, amelyek egy vagy több meglévő dokumentumot koordinálnak egy adott típusból, és kezeli a megfelelő dokumentum-, nézet- és keretablak-objektumok létrehozását.

Az alábbi ábra egy dokumentum és nézete közötti kapcsolatot mutatja be.

A nézet a dokumentum azon része, amely megjelenik.
Dokumentum és nézet

Az osztálytár dokumentum-/nézet-implementációja elválasztja magát az adatokat a megjelenítéstől és az adatok felhasználói műveleteitől. Az adatok módosításait a dokumentumosztály kezeli. A nézet meghívja ezt a felületet az adatok eléréséhez és frissítéséhez.

A dokumentumokat, a hozzájuk tartozó nézeteket és a nézeteket keretező keretablakokat egy dokumentumsablon hozza létre. A dokumentumsablon feladata az összes dokumentumtípus létrehozása és kezelése.

Mit szeretne többet megtudni

Lásd még

Felhasználói felület elemei
Windows
Keretablakok
Dokumentumsablonok és a dokumentum/nézet létrehozási folyamata
Dokumentum/nézet létrehozása
Új dokumentumok, Windows és nézetek létrehozása