関連付けられたビューとフレーム ウィンドウを使用してドキュメントを作成する複雑なプロセスを管理するために、フレームワークでは、2 つのドキュメント テンプレート クラス (SDI アプリケーション用 の CSingleDocTemplate と MDI アプリケーション用 の CMultiDocTemplate ) を使用します。
CSingleDocTemplate
は、一度に 1 種類のドキュメントを作成して格納できます。
CMultiDocTemplate
は、1 種類の開いている多数のドキュメントの一覧を保持します。
一部のアプリケーションでは、複数のドキュメントの種類がサポートされています。 たとえば、アプリケーションでテキスト ドキュメントやグラフィックス ドキュメントがサポートされている場合があります。 このようなアプリケーションでは、ユーザーが [ファイル] メニューの [新しい] コマンドを選択すると、開くことができる新しいドキュメントの種類の一覧がダイアログ ボックスに表示されます。 サポートされているドキュメントの種類ごとに、アプリケーションは個別のドキュメント テンプレート オブジェクトを使用します。 次の図は、2 つのドキュメントの種類をサポートする MDI アプリケーションの構成と、開いている複数のドキュメントを示しています。
2 つのドキュメントの種類を持つ MDI アプリケーション
ドキュメント テンプレートは、アプリケーション オブジェクトによって作成および管理されます。 アプリケーションの InitInstance
関数の間に実行される主要なタスクの 1 つは、適切な種類の 1 つ以上のドキュメント テンプレートを構築することです。 この機能については、「 ドキュメント テンプレートの作成」を参照してください。 アプリケーション オブジェクトは、各ドキュメント テンプレートへのポインターをテンプレート リストに格納し、ドキュメント テンプレートを追加するためのインターフェイスを提供します。
2 つ以上のドキュメントの種類をサポートする必要がある場合は、ドキュメントの種類ごとに AddDocTemplate への追加の呼び出しを追加する必要があります。
アイコンは、アプリケーションのドキュメント テンプレートの一覧内の位置に基づいて、各ドキュメント テンプレートに登録されます。 ドキュメント テンプレートの順序は、 AddDocTemplate
の呼び出しで追加される順序によって決まります。 MFC では、アプリケーションの最初のアイコン リソースがアプリケーション アイコン、次のアイコン リソースが最初のドキュメント アイコンであると想定しています。
たとえば、ドキュメント テンプレートは、アプリケーションの 3 分の 3 です。 インデックス 3 にあるアプリケーションに Icon リソースがある場合は、そのアイコンがドキュメント テンプレートに使用されます。 そうでない場合は、インデックス 0 のアイコンが既定として使用されます。
こちらも参照ください
MFC の一般的なトピック
ドキュメント テンプレートの作成
ドキュメント/ビューの作成
MFC オブジェクト間のリレーションシップ
新しいドキュメント、Windows、ビューの作成