Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Som standard skapar MFC-programguiden ett programskelett med en dokumentklass och en vyklass. MFC separerar datahantering i dessa två klasser. Dokumentet lagrar data och hanterar utskrift av data och koordinater som uppdaterar flera vyer av data. Vyn visar data och hanterar användarinteraktion med dem, inklusive val och redigering.
I den här modellen läser och skriver ett MFC-dokumentobjekt data till beständig lagring. Dokumentet kan också tillhandahålla ett gränssnitt för data var de än finns (till exempel i en databas). Ett separat vyobjekt hanterar datavisning, från återgivning av data i ett fönster till användarval och redigering av data. Vyn hämtar visningsdata från dokumentet och kommunicerar tillbaka till dokumentet om eventuella dataändringar.
Du kan enkelt åsidosätta eller ignorera dokument-/vyavgränsningen, men det finns i de flesta fall övertygande skäl att följa den här modellen. En av de bästa är när du behöver flera vyer av samma dokument, till exempel både ett kalkylblad och en diagramvy. Med modellen för dokument/vy kan ett separat vyobjekt representera varje vy av data, medan kod som är gemensam för alla vyer (till exempel en beräkningsmotor) kan finnas i dokumentet. Dokumentet tar också på sig uppgiften att uppdatera alla vyer när data ändras.
MFC-dokument-/vyarkitekturen gör det enkelt att stödja flera vyer, flera dokumenttyper, delningsfönster och andra värdefulla användargränssnittsfunktioner.
De delar av MFC-ramverket som är mest synliga både för användaren och för dig, programmeraren, är dokumentet och vyn. Det mesta av ditt arbete med att utveckla ett program med ramverket går till att skriva dokument- och visningsklasser. Den här artikelfamiljen beskriver:
Syftet med dokument och vyer och hur de interagerar i ramverket.
Vad du måste göra för att implementera dem.
Kärnan i dokumentet/vyn är fyra viktiga klasser:
Klassen CDocument (eller COleDocument) stöder objekt som används för att lagra eller kontrollera programmets data och tillhandahåller grundläggande funktioner för programmerade dokumentklasser. Ett dokument representerar den dataenhet som användaren vanligtvis öppnar med kommandot Öppna på Arkiv-menyn och sparar med kommandot Spara på Arkiv-menyn.
CView (eller någon av dess många härledda klasser) tillhandahåller grundläggande funktioner för programmerardefinierade vyklasser. En vy är kopplad till ett dokument och fungerar som mellanhand mellan dokumentet och användaren: vyn återger en bild av dokumentet på skärmen och tolkar användarindata som åtgärder i dokumentet. Vyn återger även bilden för både utskrift och förhandsgranskning.
CFrameWnd (eller en av dess varianter) stöder objekt som ger ramen runt en eller flera vyer av ett dokument.
CDocTemplate (eller CSingleDocTemplate eller CMultiDocTemplate) stöder ett objekt som samordnar ett eller flera befintliga dokument av en viss typ och hanterar skapandet av rätt dokument-, vy- och ramfönsterobjekt för den typen.
Följande bild visar relationen mellan ett dokument och dess vy.
Dokument och vy
Dokument-/vyimplementeringen i klassbiblioteket separerar själva data från dess visning och från användaråtgärder på data. Alla ändringar av data hanteras via dokumentklassen. Vyn anropar det här gränssnittet för att komma åt och uppdatera data.
Dokument, deras associerade vyer och de ramfönster som ramar in vyerna skapas av en dokumentmall. Dokumentmallen ansvarar för att skapa och hantera alla dokument av en dokumenttyp.
Vad vill du veta mer om?
Se även
Element i användargränssnittet
Windows
Fönster med Ram
Dokumentmallar och processen för att skapa dokument/visa
Skapande av dokument/visning
Skapa nya dokument, Windows och vyer