ドキュメント テンプレートの作成
新しいドキュメントを ファイル のメニューの New または 開く(&&O),開く,[開く] コマンドに応じて作成すると、ドキュメント テンプレートによってドキュメントを表示する新しいフレーム ウィンドウを作成します。
ドキュメントテンプレートのコンストラクターはどのようなドキュメント、ウィンドウとビューの作成、テンプレートを指定します。これは、がドキュメントテンプレートのコンストラクターに渡される引数によって決まります。次のコードは、サンプル アプリケーションの CMultiDocTemplate の作成を示しています:
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_CMyDocTypeTYPE,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CMyView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
CMultiDocTemplate の新しいオブジェクトへのポインターが AddDocTemplateへの引数として使用されます。CMultiDocTemplate のコンストラクターへの引数はドキュメント型のメニュー、アクセラレータに関連付けられているリソース id と RUNTIME_CLASS マクロの 3 とおりの使用が含まれます。RUNTIME_CLASS は、引数としてという名前の C++ クラスの CRuntimeClass のオブジェクトを返します。情報がドキュメントの作成プロセス中に指定されたクラスの新しいオブジェクトを作成する必要があるドキュメントテンプレートのコンストラクターの提供に渡される CRuntimeClass の 3 種類のオブジェクト。例が接続されている CScribView のオブジェクトと CScribDoc のオブジェクトを作成するドキュメント テンプレートを作成する方法を示します。ビューは、標準の MDI 子フレーム ウィンドウによって作成されます。