CCreateContext – struktura
Architektura používá CCreateContext
strukturu při vytváření oken rámečku a zobrazení přidružených k dokumentu.
Syntaxe
struct CCreateContext
Poznámky
CCreateContext
je struktura a nemá základní třídu.
Při vytváření okna poskytují hodnoty v této struktuře informace, které slouží k propojení součástí dokumentu s zobrazením dat. Je nutné použít CCreateContext
pouze v případě, že přepisujete části procesu vytváření.
CCreateContext
Struktura obsahuje ukazatele na dokument, okno rámečku, zobrazení a šablonu dokumentu. Obsahuje také ukazatel na typ CRuntimeClass
zobrazení, který se má vytvořit. Informace o třídě za běhu a aktuální ukazatel dokumentu se používají k dynamickému vytvoření nového zobrazení. Následující tabulka navrhuje, jak a kdy může být každý CCreateContext
člen použit:
Člen | Typ | K čemu slouží |
---|---|---|
m_pNewViewClass |
CRuntimeClass* |
CRuntimeClass nového zobrazení, které chcete vytvořit. |
m_pCurrentDoc |
CDocument* |
Existující dokument, který se má přidružit k novému zobrazení. |
m_pNewDocTemplate |
CDocTemplate* |
Šablona dokumentu přidružená k vytvoření nového okna rámce MDI. |
m_pLastView |
CView* |
Původní zobrazení, na kterém se modelují další zobrazení, jako při vytváření zobrazení rozděleného okna nebo vytvoření druhého zobrazení v dokumentu. |
m_pCurrentFrame |
CFrameWnd* |
Okno s rámečkem, na kterém jsou modelována další okna rámečku, stejně jako při vytváření druhého okna rámečku v dokumentu. |
Když šablona dokumentu vytvoří dokument a jeho přidružené komponenty, ověří informace uložené ve struktuře CCreateContext
. Například zobrazení by se nemělo vytvářet pro neexistující dokument.
Poznámka:
Všechny ukazatele jsou CCreateContext
volitelné a můžou být NULL
v případě, že nejsou zadané nebo neznámé.
CCreateContext
používá členské funkce uvedené v části Viz také. Pokud plánujete jejich přepsání, projděte si popisy těchto funkcí.
Tady je několik obecných pokynů:
Při předání jako argument pro vytvoření okna, jako v
CWnd::Create
CFrameWnd::Create
, aCFrameWnd::LoadFrame
, kontext vytvoření určuje, k čemu má být nové okno připojeno. U většiny oken je celá struktura volitelná aNULL
ukazatel lze předat.Pro přepisovatelné členské funkce, například
CFrameWnd::OnCreateClient
,CCreateContext
argument je nepovinný.Pro členské funkce zapojené do vytváření zobrazení je nutné zadat dostatek informací k vytvoření zobrazení. Například pro první zobrazení v rozděleném okně musíte zadat informace o třídě zobrazení a aktuální dokument.
Obecně platí, že pokud používáte výchozí hodnoty rozhraní, můžete ignorovat CCreateContext
. Pokud se pokusíte o pokročilejší úpravy, provede vás zdrojový kód knihovny tříd Microsoft Foundation Nebo ukázkové programy, například VIEWEX. Pokud zapomenete požadovaný parametr, kontrolní výraz architektury vám řekne, co jste zapomněli.
Další informace o CCreateContext
, viz MFC ukázkové VIEWEX.
Požadavky
Hlavička: afxext.h
Viz také
Graf hierarchie
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create