CCreateContext 構造体

フレームワークは、ドキュメントに CCreateContext 関連付けられているフレーム ウィンドウとビューを作成するときに構造体を使用します。

構文

struct CCreateContext

解説

CCreateContext は構造体であり、基底クラスを持っていません。

ウィンドウを作成する場合、この構造体の値は、ドキュメントのコンポーネントをデータのビューに接続するために使用される情報を提供します。 作成プロセスの一部をオーバーライドする場合にのみ使用 CCreateContext する必要があります。

CCreateContext構造体には、ドキュメント、フレーム ウィンドウ、ビュー、およびドキュメント テンプレートへのポインターが含まれています。 また、作成するビューの種類を識別する a CRuntimeClass へのポインターも含まれています。 実行時クラス情報と現在のドキュメント ポインターは、新しいビューを動的に作成するために使用されます。 次の表は、各 CCreateContext メンバーを使用する方法とタイミングを示しています。

メンバー Type 目的
m_pNewViewClass CRuntimeClass* CRuntimeClass 作成する新しいビューの を選択します。
m_pCurrentDoc CDocument* 新しいビューに関連付ける既存のドキュメント。
m_pNewDocTemplate CDocTemplate* 新しい MDI フレーム ウィンドウの作成に関連付けられているドキュメント テンプレート。
m_pLastView CView* 分割ウィンドウ ビューの作成やドキュメントでの 2 番目のビューの作成のように、追加のビューがモデル化される元のビュー。
m_pCurrentFrame CFrameWnd* ドキュメントで 2 番目のフレーム ウィンドウを作成する場合と同様に、追加のフレーム ウィンドウをモデル化するフレーム ウィンドウ。

ドキュメント テンプレートは、ドキュメントとその関連コンポーネントを作成するときに、構造に格納されている情報を CCreateContext 検証します。 たとえば、存在しないドキュメントのビューは作成しないでください。

Note

すべてのポインター CCreateContext は省略可能であり、指定されていない場合や不明な場合に NULL 使用できます。

CCreateContext は、"See Also" の下にリストされているメンバー関数によって使用されます。これらの関数をオーバーライドする場合は、これらの関数の説明を参照して特定の情報を確認してください。

一般的なガイドラインをいくつか次に示します。

  • と同様に、ウィンドウ作成の引数としてCWnd::CreateCFrameWnd::CreateCFrameWnd::LoadFrame渡された場合、作成コンテキストは、新しいウィンドウの接続先を指定します。 ほとんどのウィンドウでは、構造体全体は省略可能であり、ポインターを NULL 渡すことができます。

  • たとえば CFrameWnd::OnCreateClient、オーバーライド可能なメンバー関数の CCreateContext 場合、引数は省略可能です。

  • ビューの作成に関連するメンバー関数の場合は、ビューを作成するのに十分な情報を指定する必要があります。 たとえば、分割ウィンドウの最初のビューでは、ビュー クラス情報と現在のドキュメントを指定する必要があります。

一般に、フレームワークの既定値を使用する場合は無視 CCreateContextできます。 さらに高度な変更を試みる場合は、Microsoft Foundation クラス ライブラリのソース コードまたは VIEWEX などのサンプル プログラムがガイドします。 必要なパラメーターを忘れた場合は、忘れた内容がフレームワーク アサーションによって通知されます。

詳細については CCreateContext、MFC サンプル VIEWEX を参照してください。

必要条件

ヘッダー: afxext.h

関連項目

階層図
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create