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