インターネット上の Active ドキュメント
更新 : 2007 年 11 月
Active ドキュメントは、従来の埋め込みオブジェクトの機能を拡張します。Active ドキュメントを複数のページに表示したり、クライアント領域全体に表示することもできます。従来のメニュー ネゴシエーションを行うと、サーバー アプリケーションの開いているウィンドウ内だけでなく、埋め込み先でも編集できます。Active ドキュメントは、斜線の境界線で囲まれた小さな四角形としての表示ではなく、全画面表示です。また、常に埋め込み先編集が有効になります。
Active ドキュメントは、Microsoft Office バインダーなどのコンテナに表示できます。Microsoft Office バインダーでは、Excel、Word のような異なる種類のドキュメント、およびカスタマイズしたドキュメントから構成される複合ドキュメントを作成できます。各ドキュメントは、全画面表示で編集できます。Active ドキュメントは、Active ドキュメント コンテナとして機能する Microsoft Internet Explorer などのブラウザでも表示できます。
Active ドキュメントの利点は、次のとおりです。
クライアント ウィンドウ全体に全画面表示できます。
別のアプリケーションのウィンドウで開くことができます。
ドキュメントを開くには、ビューアを持つアプリケーションがクライアント側に必要です。クライアント側にない場合は、別にダウンロードしてから実行する必要があります。最小限の機能を持つビューアを作成してもかまいません。Word、PowerPoint、および Excel のドキュメントには、それぞれ専用のビューアが用意されています。編集のサポートは、アプリケーションの完全版で行います。
常に埋め込み先編集が有効です。
コンテナで呼び出されたメニュー コマンドのルーティング先となることができます。
Web ブラウザで表示できます。したがって、ドキュメントとほかの Web ページが統合されて、違和感なく移動できます。
たとえば、HTML の Web ページを参照した後で Excel のスプレッドシートを参照し、次に Active ドキュメントをサポートする MFC で作成したドキュメントを参照することもできます。ブラウザで、HTML ページ、Excel、および独自のアプリケーションのドキュメントのメニューおよびビューが自由に切り替えられます。このため、使い慣れた Web インターフェイスで簡単に移動できます。
すべてのアプリケーションが共通のフレームに表示されます。
Active ドキュメントの必要条件
次の表は、埋め込み先サーバーに従来必要なインターフェイスおよび Active ドキュメント オブジェクトに固有な新しいインターフェイスを示しています。MFC では、大部分のインターフェイスの既定の実装が COleServerDoc クラスに用意されています。
ドキュメントの動作 |
実装するインターフェイス |
---|---|
複合ファイルを格納機構として使用します。 |
IPersistStorage. |
[ファイルから (作成)] など、Active ドキュメントの基本的な埋め込み機能をサポートします。 |
IPersistFile、IOleObject、および IDataObject。 |
埋め込み先編集の有効化をサポートします。 |
IOleInPlaceObject と IOleInPlaceActiveObject。この 2 つを実装するには、コンテナの IOleInPlaceSite インターフェイスおよび IOleInPlaceFrame インターフェイスを使用します。 |
右のインターフェイスを使用する Active ドキュメント拡張機能をサポートします。一部のインターフェイスは、必須ではありません。 |
IOleDocument、IOleDocumentView、IOleCommandTarget、および IPrint。 |
MFC では、既存の埋め込み先サーバーを拡張して Active ドキュメントをサポートできます。
新しいアプリケーションに Active ドキュメントのサポートを追加する方法
Active ドキュメントをサポートする新しいアプリケーションを作成するには、MFC アプリケーション ウィザードを使用します。[複合ドキュメント サポート] ページの [複合ドキュメント サポート] から [フル サーバー] または [コンテナ/フルサーバー] を選択し、[追加オプション] から [アクティブ ドキュメント サーバー] チェック ボックスをオンにします。
既存の MFC インプロセス サーバーを Active ドキュメント サーバーに変換する方法
Visual C++ 4.2 よりも前のバージョンで作成したアプリケーションが既にインプロセス サーバーになっている場合は、以下の派生元を変更するだけで、Active ドキュメントのサポートを追加できます。
クラス型 |
前の派生元 |
新しい派生元 |
---|---|---|
埋め込みフレーム |
COleIPFrameWnd |
COleDocIPFrameWnd |
項目 |
COleServerItem |
CDocObjectServerItem |
レジストリへの情報の入力方法などを変更できます。アプリケーションが COM コンポーネントをサポートしていない場合は、アプリケーション ウィザードを実行し、COM コンポーネント固有のコードを既存のアプリケーションに組み込むことにより、サーバーのサポートを追加できます。