次の方法で共有


ドキュメント テンプレートとドキュメント/ビューの作成手順

更新 : 2007 年 11 月

ドキュメントとそれに関連するビューおよびフレーム ウィンドウの複雑な作成処理を管理するため、フレームワークは 2 つのドキュメント テンプレート クラスを使用します。1 つは、SDI アプリケーション用の CSingleDocTemplate であり、もう 1 つは MDI アプリケーション用の CMultiDocTemplate です。CSingleDocTemplate では、一度に 1 つの型のドキュメントを 1 つ作成し、保存できます。CMultiDocTemplate には、1 つの型のドキュメントのうち、開いている複数のドキュメントのリストが保持されます。

アプリケーションによっては、複数のドキュメント タイプをサポートします。たとえば、1 つのアプリケーションでテキスト ドキュメントとグラフィックス ドキュメントをサポートすることもあります。このようなアプリケーションでは、[ファイル] メニューの [新規作成] を選択すると、ダイアログ ボックスにオープンできるドキュメント タイプが一覧表示されます。サポートされているドキュメント タイプごとに、アプリケーションでは別のドキュメント テンプレートを使用します。2 つのドキュメント タイプをサポートする MDI アプリケーションの構成を次の図に示します。この図では、複数のドキュメントが開いています。

2 つのドキュメント タイプをサポートする MDI アプリケーション
MDI アプリケーション 2 ドキュメント タイプ

ドキュメント テンプレートは、アプリケーション オブジェクトによって作成され管理されます。アプリケーションの関数 InitInstance で実行される主な処理の 1 つは、該当する種類のドキュメント テンプレートを 1 つ以上構築することです。この機能については、「ドキュメント テンプレートの作成」で説明します。アプリケーション オブジェクトは、それぞれのドキュメント テンプレートへのポインタをテンプレートのリストに保存し、ドキュメント テンプレートを追加するためのインターフェイスを提供します。

複数のドキュメント タイプをサポートする場合は、ドキュメント タイプごとに AddDocTemplate の呼び出しを追加する必要があります。

ドキュメント テンプレートごとにアイコンが登録されます。登録されるアイコンは、そのテンプレートがアプリケーションのドキュメント テンプレート リスト内のどの位置にあるかによって異なります。ドキュメント テンプレートは、AddDocTemplate を呼び出して追加した順番に並んでいます。MFC では、アプリケーションの先頭のアイコン リソースをアプリケーション アイコンと見なし、次のアイコン リソースを最初のドキュメント アイコンと見なします。以降も同様です。

たとえば、あるドキュメント テンプレートがアプリケーションの 3 つのドキュメント テンプレートの 3 番目にあるとします。このアプリケーションのインデックス 3 にアイコン リソースがある場合は、そのアイコンがドキュメント テンプレート用に使用されます。ない場合は、既定でインデックス 0 のアイコンが使用されます。

参照

概念

MFC の一般的なトピック

ドキュメント テンプレートの作成

ドキュメントおよびビューの作成

各種 MFC オブジェクト間の関係

新しいドキュメント、ウィンドウ、ビューの作成