Share via


CCreateContext-structuur

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Het framework maakt gebruik van de CCreateContext structuur bij het maken van de framevensters en weergaven die zijn gekoppeld aan een document.

Syntaxis

struct CCreateContext

Opmerkingen

CCreateContext is een structuur en heeft geen basisklasse.

Wanneer u een venster maakt, bevatten de waarden in deze structuur de informatie die wordt gebruikt om de onderdelen van een document te verbinden met de weergave van de gegevens. U hoeft alleen te gebruiken CCreateContext als u onderdelen van het creatieproces overschrijft.

Een CCreateContext structuur bevat aanwijzers naar het document, het framevenster, de weergave en de documentsjabloon. Het bevat ook een aanwijzer naar een CRuntimeClass die het type weergave identificeert dat moet worden gemaakt. De runtimeklassegegevens en de huidige documentaanwijzer worden gebruikt om dynamisch een nieuwe weergave te maken. In de volgende tabel wordt voorgesteld hoe en wanneer elk CCreateContext lid kan worden gebruikt:

Lid Typologie Waar is het voor
m_pNewViewClass CRuntimeClass* CRuntimeClass van de nieuwe weergave die u wilt maken.
m_pCurrentDoc CDocument* Het bestaande document dat moet worden gekoppeld aan de nieuwe weergave.
m_pNewDocTemplate CDocTemplate* De documentsjabloon die is gekoppeld aan het maken van een nieuw MDI-framevenster.
m_pLastView CView* De oorspronkelijke weergave waarin extra weergaven worden gemodelleerd, zoals bij het maken van gesplitste vensterweergaven of het maken van een tweede weergave in een document.
m_pCurrentFrame CFrameWnd* Het framevenster waarop extra framevensters worden gemodelleerd, zoals bij het maken van een tweede framevenster in een document.

Wanneer een documentsjabloon een document en de bijbehorende onderdelen maakt, wordt de informatie die in de CCreateContext structuur is opgeslagen, gevalideerd. Een weergave mag bijvoorbeeld niet worden gemaakt voor een niet-bestaand document.

Opmerking

Alle aanwijzers CCreateContext zijn optioneel en kunnen worden NULL opgegeven of onbekend.

CCreateContext wordt gebruikt door de lidfuncties die worden vermeld onder 'Zie ook'. Raadpleeg de beschrijvingen van deze functies voor specifieke informatie als u deze wilt overschrijven.

Hier volgen enkele algemene richtlijnen:

  • Wanneer het wordt doorgegeven als argument voor het maken van vensters, zoals in CWnd::Create, CFrameWnd::Createen CFrameWnd::LoadFrame, geeft de context maken aan waarmee het nieuwe venster moet worden verbonden. Voor de meeste vensters is de hele structuur optioneel en kan een NULL aanwijzer worden doorgegeven.

  • Voor overschrijfbare lidfuncties, zoals CFrameWnd::OnCreateClient, is het CCreateContext argument optioneel.

  • Voor lidfuncties die betrokken zijn bij het maken van weergaven, moet u voldoende informatie opgeven om de weergave te maken. Voor de eerste weergave in een splitsvenster moet u bijvoorbeeld de informatie over de weergaveklasse en het huidige document opgeven.

In het algemeen kunt u negeren als u de standaardinstellingen van het framework gebruikt CCreateContext. Als u geavanceerdere wijzigingen probeert uit te voeren, wordt u begeleid bij de broncode van de Microsoft Foundation Class Library of de voorbeeldprogramma's, zoals VIEWEX. Als u een vereiste parameter vergeet, vertelt een framework-assertie u wat u bent vergeten.

Zie de MFC-voorbeeldWEERGAVEEX voor meer informatieCCreateContext.

Requirements

Koptekst: afxext.h

Zie ook

Hiƫrarchiegrafiek
CFrameWnd::Maken
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Maken