Struktura CCreateContext

Struktura używa CCreateContext struktury podczas tworzenia okien ramowych i widoków skojarzonych z dokumentem.

Składnia

struct CCreateContext

Uwagi

CCreateContext jest strukturą i nie ma klasy bazowej.

Podczas tworzenia okna wartości w tej strukturze zawierają informacje używane do łączenia składników dokumentu z widokiem jego danych. Musisz użyć CCreateContext tylko wtedy, gdy zastępujesz części procesu tworzenia.

Struktura CCreateContext zawiera wskaźniki do dokumentu, okna ramki, widoku i szablonu dokumentu. Zawiera również wskaźnik wskazujący CRuntimeClass typ widoku do utworzenia. Informacje o klasie czasu wykonywania i bieżący wskaźnik dokumentu są używane do dynamicznego tworzenia nowego widoku. W poniższej tabeli przedstawiono, jak i kiedy CCreateContext każdy element członkowski może być używany:

Element członkowski Type Co to jest dla
m_pNewViewClass CRuntimeClass* CRuntimeClass nowego widoku do utworzenia.
m_pCurrentDoc CDocument* Istniejący dokument, który ma być skojarzony z nowym widokiem.
m_pNewDocTemplate CDocTemplate* Szablon dokumentu skojarzony z tworzeniem nowego okna ramki MDI.
m_pLastView CView* Oryginalny widok, w którym są modelowane dodatkowe widoki, podobnie jak w przypadku tworzenia widoków okien podziału lub tworzenia drugiego widoku w dokumencie.
m_pCurrentFrame CFrameWnd* Okno ramowe, w którym są modelowane dodatkowe okna ramowe, podobnie jak w przypadku tworzenia drugiego okna ramki w dokumencie.

Gdy szablon dokumentu tworzy dokument i skojarzone z nim składniki, weryfikuje informacje przechowywane w CCreateContext strukturze. Na przykład widok nie powinien być tworzony dla nieistniejących dokumentów.

Uwaga

Wszystkie wskaźniki w pliku CCreateContext są opcjonalne i mogą być NULL , jeśli nieokreślone lub nieznane.

CCreateContext jest używany przez funkcje składowe wymienione w obszarze "Zobacz również". Zapoznaj się z opisami tych funkcji, aby uzyskać szczegółowe informacje, jeśli planujesz je zastąpić.

Oto kilka ogólnych wytycznych:

  • Po przekazaniu jako argumentu tworzenia okien, jak w CWnd::CreateCFrameWnd::Create, i CFrameWnd::LoadFrame, kontekst tworzenia określa, z czym powinno być połączone nowe okno. W przypadku większości okien cała struktura jest opcjonalna i NULL można przekazać wskaźnik.

  • W przypadku funkcji składowych, które można zastąpić, takich jak CFrameWnd::OnCreateClient, CCreateContext argument jest opcjonalny.

  • W przypadku funkcji członkowskich zaangażowanych w tworzenie widoku należy podać wystarczającą ilość informacji, aby utworzyć widok. Na przykład dla pierwszego widoku w oknie podziału należy podać informacje o klasie widoku i bieżący dokument.

Ogólnie rzecz biorąc, jeśli używasz domyślnych ustawień platformy, możesz zignorować CCreateContext. Jeśli spróbujesz bardziej zaawansowane modyfikacje, kod źródłowy biblioteki klas programu Microsoft Foundation lub przykładowe programy, takie jak VIEWEX, poprowadzi Cię. Jeśli zapomnisz wymagany parametr, asercji platformy zostanie wyświetlone informacje o tym, czego nie pamiętasz.

Aby uzyskać więcej informacji na temat CCreateContextprogramu , zobacz przykładowy interfejs VIEWEX MFC.

Wymagania

Nagłówek: afxext.h

Zobacz też

Wykres hierarchii
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
Cwnd::create