次の方法で共有


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

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

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

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

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

  3. 右ペインで [MFC アプリケーション] を選択します。

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

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

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

  7. [Active ドキュメント コンテナー] チェック ボックスを選択します。

  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 ドキュメント コンテインメントでは、より優れた印刷スキームが提供されます。

    • 最初に、その IPrint インターフェイスを使用して Active ドキュメントを呼び出し、それ自体を印刷するように指示できます。 これは、以前の OLE コンテインメントとは異なります。以前は、コンテナーは、含まれている項目のイメージをプリンター CDC オブジェクトにレンダリングする必要がありました。

    • 失敗した場合は、含まれている項目に、IOleCommandTarget インターフェイスを通じて出力するように指示します。

    • それでも失敗する場合は、項目を独自にレンダリングします。

    前のコードで実装された静的メンバー関数 COleDocObjectItem::OnPrintCOleDocObjectItem::OnPreparePrinting は、この改善された印刷スキームを処理します。

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

関連項目

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