Delen via


Documenten, weergaven en het framework

Het hart van het MFC-framework vormen de concepten van document en weergave. Een document is een gegevensobject waarmee de gebruiker in een bewerkingssessie communiceert. Deze wordt gemaakt met de opdracht Nieuw of Openen in het menu Bestand en wordt meestal opgeslagen in een bestand. (Standaard MFC-documenten, afgeleid van klasse CDocument, verschillen van actieve documenten en OLE-samengestelde documenten.) Een weergave is een vensterobject waarmee de gebruiker interactie heeft met een document.

De belangrijkste objecten in een actieve toepassing zijn:

  • Thread-objecten

    Als uw toepassing afzonderlijke threads van uitvoering maakt, bijvoorbeeld om berekeningen op de achtergrond uit te voeren, gebruikt u klassen die zijn afgeleid van CWinThread. CWinApp zelf is afgeleid van CWinThread en vertegenwoordigt de primaire thread van de uitvoering (of het hoofdproces) in uw toepassing. U kunt MFC ook gebruiken in secundaire threads.

  • Het toepassingsobject

    Uw toepassingsklasse (afgeleid van CWinApp) beheert alle bovenstaande objecten en specificeert toepassingsgedrag, zoals initialisatie en opschonen. Het ene en enige toepassingsobject van de toepassing maakt en beheert de documentsjablonen voor alle documenttypen die door de toepassing worden ondersteund.

  • De documentsjabloon of -sjablonen

    Een documentsjabloon regelt het maken van documenten, weergaven en framevensters. Een bepaalde documentsjabloonklasse, afgeleid van klasse CDocTemplate, maakt en beheert alle geopende documenten van één type. Toepassingen die meer dan één type document ondersteunen, hebben meerdere documentsjablonen. Gebruik klasse CSingleDocTemplate voor SDI-toepassingen of gebruik klasse CMultiDocTemplate voor MDI-toepassingen.

  • De framevensters

    Weergaven worden weergegeven in 'documentframevensters'. In een SDI-toepassing is het documentframevenster ook het 'hoofdframevenster' voor de toepassing. In een MDI-toepassing worden documentvensters als onderliggende vensters in een hoofdframevenster weergegeven. Uw afgeleide hoofdframevensterklasse specificeert de stijlen en andere kenmerken van de framevensters die uw weergaven bevatten. Als u framevensters wilt aanpassen, gebruik dan CFrameWnd om het documentframevenster voor SDI-toepassingen aan te passen. Baseer op CMDIFrameWnd om het hoofdframevenster voor MDI-toepassingen aan te passen. U kunt ook een klasse van CMDIChildWnd afleiden om elk soort MDI-documentframevenster dat door uw toepassing wordt ondersteund aan te passen.

  • Het document of de documenten.

    De documentklasse (afgeleid van CDocument) geeft de gegevens van uw toepassing op.

    Als u OLE-functionaliteit in uw toepassing wilt, kunt u de documentklasse afleiden uit COleDocument of een van de afgeleide klassen ervan, afhankelijk van het type functionaliteit dat u nodig hebt.

  • De weergave of de weergaven.

    Uw weergaveklasse (afgeleid van CView) is het 'venster van de gebruiker op de gegevens'. De weergaveklasse bepaalt hoe de gebruiker de gegevens van uw document ziet en ermee communiceert. In sommige gevallen wilt u mogelijk dat een document meerdere weergaven van de gegevens heeft.

    Als u moet scrollen, leid af van CScrollView. Als uw weergave een gebruikersinterface heeft die is ingedeeld in een dialoogvenstersjabloonresource, moet u afleiden van CFormView. Gebruik of leid af van eenvoudige tekstgegevens CEditView. Voor een toepassing voor gegevenstoegang op basis van formulieren, zoals een programma voor gegevensinvoer, afgeleid van CRecordView (voor ODBC). Ook beschikbaar zijn klassen CTreeView, CListViewen CRichEditView.

In een actieve toepassing reageren deze objecten gezamenlijk op gebruikersacties, gebonden door opdrachten en andere berichten. Eén toepassingsobject beheert een of meer documentsjablonen. Elke documentsjabloon maakt en beheert een of meer documenten (afhankelijk van of de toepassing SDI of MDI is). De gebruiker bekijkt en bewerkt een document via een weergave in een framevenster. In de volgende afbeelding ziet u de relaties tussen deze objecten voor een SDI-toepassing.

Diagram van de objecten in een actieve SDI-toepassing.
Objecten in een actieve SDI-toepassing

In de rest van deze reeks artikelen wordt uitgelegd hoe de frameworkhulpprogramma's, de MFC-Applicatie Wizard en de resource-editors deze objecten maken, hoe ze samenwerken en hoe u ze in uw programmering gebruikt. Documenten, weergaven en framevensters worden gedetailleerder besproken in vensterobjecten en document-/weergavearchitectuur.

Zie ook

De klassen gebruiken om toepassingen voor Windows te schrijven