Active ドキュメント コンテナー アプリケーションの作成
ためのおよびほとんどの方法は、アクティブ ドキュメント コンテナー アプリケーションを作成し、MFC アプリケーション ウィザードを使用して MFC EXE のコンテナー アプリケーションを作成することと、アクティブ ドキュメントのコンテインメントをサポートするようにアプリケーションを変更します。
Active ドキュメント コンテナー アプリケーションを作成するには
[ファイル] メニューから、[新規作成] のサブメニューから [プロジェクト] をクリックします。
左ペインで、プロジェクトの種類を [Visual C++] をクリックします。
右ペインで [MFC アプリケーション] を選択します。
プロジェクト MyProjを付けます。、[OK] をクリックします。
[複合ドキュメント サポート] ページを選択します。
[コンテナー] または [コンテナー/フル サーバー] オプションを選択します。
[Active ドキュメント コンテナー(D)] チェック ボックスをオンにします。
[完了] をクリックします。
MFC アプリケーション ウィザードのアプリケーションを生成する作業が終了したら、ソリューション エクスプローラーを使用すると、次のファイルを開く:
- MyProjview.cpp
MyProjview.cpp では、次の変更を行います。:
CMyProjView::OnPreparePrintingでは、次のコードでは、関数の内容を置換する:
if (!CView::OnPreparePrinting(pInfo)) return FALSE; if (!COleDocObjectItem::OnPreparePrinting(this, pInfo)) return FALSE; return TRUE;
OnPreparePrinting は 印刷サポートを提供します。 既定の状態であるこのコードは DoPreparePrintingを置き換えます。
Active ドキュメント コンテインメントが強化された印刷スキームを提供し、T:
IPrintインターフェイスを通じて初めて呼び出すアクティブ ドキュメントをそれ自身を出力するように指定することもできます。 これは、コンテナーがプリンターの CDCオブジェクトに含まれる項目のイメージをする必要があります。前の OLE コンテインメントとは異なります。
エラーが発生した場合は、含まれる項目を IOleCommandTargetインターフェイスを通じて自身を印刷する方法を説明します。
エラーが発生した場合は、項目の独自の描画を実行します。
前のコードで実装されるように静的メンバー関数 COleDocObjectItem::OnPrint と COleDocObjectItem::OnPreparePrintingは、この強化された印刷スキームを処理します。
独自の実装を追加し、アプリケーションをビルドします。