CCreateContext-Struktur
Das Framework verwendet die CCreateContext
Struktur, wenn die Rahmenfenster und Ansichten erstellt werden, die einem Dokument zugeordnet sind.
Syntax
struct CCreateContext
Hinweise
CCreateContext
ist eine Struktur und verfügt nicht über eine Basisklasse.
Wenn Sie ein Fenster erstellen, stellen die Werte in dieser Struktur die Informationen bereit, die zum Verbinden der Komponenten eines Dokuments mit der Ansicht ihrer Daten verwendet werden. Sie müssen nur verwenden CCreateContext
, wenn Sie Teile des Erstellungsprozesses überschreiben.
Eine CCreateContext
Struktur enthält Zeiger auf das Dokument, das Rahmenfenster, die Ansicht und die Dokumentvorlage. Er enthält auch einen Zeiger auf einen CRuntimeClass
, der den zu erstellenden Ansichtstyp identifiziert. Die Laufzeitklasseninformationen und der aktuelle Dokumentzeiger werden zum dynamischen Erstellen einer neuen Ansicht verwendet. In der folgenden Tabelle wird vorgeschlagen, wie und wann jedes CCreateContext
Element verwendet werden kann:
Member | type | Wofür es steht |
---|---|---|
m_pNewViewClass |
CRuntimeClass* |
CRuntimeClass der zu erstellenden neuen Ansicht. |
m_pCurrentDoc |
CDocument* |
Das vorhandene Dokument, das der neuen Ansicht zugeordnet werden soll. |
m_pNewDocTemplate |
CDocTemplate* |
Die Dokumentvorlage, die der Erstellung eines neuen MDI-Framefensters zugeordnet ist. |
m_pLastView |
CView* |
Die ursprüngliche Ansicht, auf die zusätzliche Ansichten modelliert werden, wie bei der Erstellung von Geteilter Fensteransichten oder der Erstellung einer zweiten Ansicht in einem Dokument. |
m_pCurrentFrame |
CFrameWnd* |
Das Rahmenfenster, auf dem zusätzliche Rahmenfenster modelliert werden, wie bei der Erstellung eines zweiten Rahmenfensters in einem Dokument. |
Wenn eine Dokumentvorlage ein Dokument und die zugehörigen Komponenten erstellt, überprüft sie die in der CCreateContext
Struktur gespeicherten Informationen. Beispielsweise sollte keine Ansicht für ein nicht vorhandenes Dokument erstellt werden.
Hinweis
Alle Zeiger in CCreateContext
sind optional und können sein NULL
, wenn nicht angegeben oder unbekannt.
CCreateContext
wird von den Memberfunktionen verwendet, die unter "Siehe auch" aufgeführt sind. Weitere Informationen finden Sie in den Beschreibungen dieser Funktionen, wenn Sie diese außer Kraft setzen möchten.
Hier sind einige allgemeine Richtlinien:
Wenn sie als Argument für die Fenstererstellung übergeben wird, wie in
CWnd::Create
,CFrameWnd::Create
undCFrameWnd::LoadFrame
gibt der Erstellungskontext an, mit welcher Verbindung das neue Fenster verbunden werden soll. Für die meisten Fenster ist die gesamte Struktur optional und einNULL
Zeiger kann übergeben werden.Für überschreibbare Memberfunktionen, z
CFrameWnd::OnCreateClient
. B. ist dasCCreateContext
Argument optional.Für Memberfunktionen, die an der Ansichtserstellung beteiligt sind, müssen Sie genügend Informationen bereitstellen, um die Ansicht zu erstellen. For example, for the first view in a splitter window, you must supply the view class information and the current document.
Im Allgemeinen können CCreateContext
Sie ignorieren, wenn Sie die Framework-Standardwerte verwenden. Wenn Sie erweiterte Änderungen versuchen, führt Sie der Quellcode der Microsoft Foundation Class Library oder die Beispielprogramme wie VIEWEX. Wenn Sie einen erforderlichen Parameter vergessen, teilt Ihnen eine Framework-Assertion mit, was Sie vergessen haben.
Weitere Informationen CCreateContext
finden Sie im MFC-Beispiel VIEWEX.
Anforderungen
Header: afxext.h
Siehe auch
Hierarchiediagramm
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create