CCreateContext 構造体

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

構文

struct CCreateContext

解説

CCreateContext は 構造体であり、基本クラスを持ちではありません。

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

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

メンバー 種類 その意味
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 Class ライブラリソース コードやサンプル プログラム (VIEWEX など) が表示されます。 必要なパラメーターを忘れた場合、フレームワーク アサーションによって忘れたことを示します。

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

要件

ヘッダー: afxext.h

関連項目

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