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 Typ 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::Createund CFrameWnd::LoadFramegibt der Erstellungskontext an, mit welcher Verbindung das neue Fenster verbunden werden soll. Für die meisten Fenster ist die gesamte Struktur optional und ein NULL Zeiger kann übergeben werden.

  • Für überschreibbare Memberfunktionen, z CFrameWnd::OnCreateClient. B. ist das CCreateContext 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 CCreateContextSie 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 CCreateContextfinden Sie im MFC-Beispiel VIEWEX.

Anforderungen

Header: afxext.h

Siehe auch

Hierarchiediagramm
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create