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 | Typ | 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::Create
CFrameWnd::Create
, iCFrameWnd::LoadFrame
, kontekst tworzenia określa, z czym powinno być połączone nowe okno. W przypadku większości okien cała struktura jest opcjonalna iNULL
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 CCreateContext
programu , 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