Active ドキュメント コンテインメント
Active ドキュメント コンテインメントは、ドキュメントを操作するための 1 つのフレームを提供するテクノロジであり、ドキュメントの種類ごとに複数のアプリケーション フレームを作成して使用する必要はありません。 これは基本的な OLE テクノロジとは異なります。OLE では、1 つのコンテンツしかアクティブにできない複合ドキュメント内の埋め込みオブジェクトを操作します。 Active ドキュメント コンテインメントでは、単一のフレームのコンテキスト内でドキュメント全体 (つまり、関連するメニュー、ツール バーなどを含むアプリケーション全体) をアクティブ化します。
Active ドキュメント コンテインメント テクノロジは、当初は Microsoft Office で Office バインダーを実装するために開発されました。 ただし、このテクノロジは、Office バインダー以外の Active ドキュメント コンテナーをサポートするのに十分な柔軟性を備えており、Office および Office 互換アプリケーション以外のドキュメント サーバーをサポートできます。
Active ドキュメントをホストするアプリケーションは、Active ドキュメント コンテナーと呼ばれます。 このようなコンテナーの例としては、Microsoft Office バインダーや Microsoft Internet Explorer などがあります。
Active ドキュメント コンテインメントは、OLE の複合ドキュメント テクノロジである OLE ドキュメントの拡張機能のセットとして実装されます。 拡張機能は、埋め込み可能なインプレース オブジェクトが単一の埋め込みコンテンツではなくドキュメント全体を表すことを可能にする追加のインターフェイスです。 OLE ドキュメントと同様に、Active ドキュメント コンテインメントでは、Active ドキュメントの表示スペースを提供するコンテナーと、Active ドキュメント自体のユーザー インターフェイスと操作機能を提供するサーバーを使用します。
サーバーは、1 つ以上の Active ドキュメント クラスをサポートするアプリケーション (Word、Excel、PowerPoint など) です。それぞれのオブジェクトで拡張インターフェイスがサポートされるため、オブジェクトを適切なコンテナーでアクティブ化することができます。
(Word や Excel などの Active ドキュメント サーバーから提供される) Active ドキュメントは、基本的に、別の Active ドキュメント コンテナー内にオブジェクトとして埋め込まれている、フルスケールの従来のドキュメントです。 埋め込みオブジェクトとは異なり、Active ドキュメントでは、ページを完全に制御でき、(基盤となるすべてのコマンドとツールを備えた) アプリケーションの完全なインターフェイスを使用してユーザーがページを編集することができます。
Active ドキュメントは、標準の OLE 埋め込みオブジェクトと区別されるものと理解してください。 OLE の規則に従うと、埋め込みオブジェクトはそれを所有するドキュメントのページ内に表示されるオブジェクトであり、そのドキュメントは OLE コンテナーによって管理されます。 コンテナーには、埋め込みオブジェクトのデータがドキュメントの残りの部分と共に保存されます。 ただし、埋め込みオブジェクトは、それらが表示されるページを制御しないという点で制限されています。
Active ドキュメント コンテナー アプリケーションのユーザーは、お気に入りのアプリケーションを使用して (Office バインダーでセクションと呼ばれる) Active ドキュメントを作成できます (これらのアプリケーションが Active ドキュメントに対応する場合)。さらに、ユーザーは、結果のプロジェクトを、一意の名前の設定、保存、印刷などを行うことができる単一のエンティティとして管理できます。 同様に、インターネット ブラウザーのユーザーは、ネットワーク全体とローカル ファイル システムを、単一の場所からそのストレージ内のドキュメントを参照できる単一のドキュメント ストレージ エンティティとして扱うことができます。
サンプル プログラム
- MFCBIND サンプルは、Active ドキュメント コンテナー アプリケーションの実装を示しています。