次の方法で共有


Active ドキュメント コンテナ アプリケーションの作成

更新 : 2007 年 11 月

最も簡単に Active ドキュメント コンテナ アプリケーションを作成する方法は、MFC アプリケーション ウィザードで MFC EXE コンテナ アプリケーションを作成し、Active ドキュメント コンテインメントをサポートできるようにアプリケーションを変更することです。

Active ドキュメント コンテナ アプリケーションを作成するには

  1. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  2. 左側のペインで、プロジェクトの種類として [Visual C++ プロジェクト] をクリックします。

  3. 右側のペインにある [MFC アプリケーション] を選択します。

  4. プロジェクトに「MyProj」という名前を付け、[OK] をクリックします。

  5. [複合ドキュメント サポート] ページをクリックします。

  6. [コンテナ] オプションまたは [コンテナ/フル サーバー] オプションをクリックします。

  7. [アクティブ ドキュメント コンテナ] チェック ボックスをオンにします。

  8. [完了] をクリックします。

  9. MFC アプリケーション ウィザードによるアプリケーションの生成が終了したら、ソリューション エクスプローラで、次のファイルを開きます。

    • MyProjview.cpp
  10. MyProjview.cpp で次の変更を行います。

    • CMyProjView::OnPreparePrinting で、関数の内容を次のコードに置き換えます。

         if (!CView::OnPreparePrinting(pInfo))
              return FALSE;
      
          if (!COleDocObjectItem::OnPreparePrinting(this, pInfo))
              return FALSE;
      
          return TRUE;
      

    OnPreparePrinting は、印刷用の機能を提供します。このコードは、既定の印刷準備機能を提供する DoPreparePrinting を置き換えます。

    Active ドキュメント コンテインメントでは、印刷方式も改良されています。

    • Active ドキュメントの IPrint インターフェイスを使用して、Active ドキュメントに自分自身を印刷するように指示できます。これに対し、従来の OLE コンテインメントでは、コンテナが含まれているアイテムのイメージをプリンタの CDC オブジェクトに渡す必要がありました。

    • この方法が失敗した場合は、アイテムの IOleCommandTarget インターフェイスを使用して、アイテムに印刷を指示します。

    • これも失敗した場合は、アイテムを印刷する独自のコードを作成します。

    前述のコードで実装された COleDocObjectItem::OnPrintCOleDocObjectItem::OnPreparePrinting の各静的メンバ関数は、この改良された方式で印刷処理を行います。

  11. 独自の実装を追加し、アプリケーションをビルドします。

参照

概念

Active ドキュメント コンテインメント