创建活动文档容器应用程序

创建活动文档容器应用程序的最简单且最推荐的方法是使用 MFC 应用程序向导创建 MFC EXE 容器应用程序,然后修改应用程序以支持活动文档包含。

创建活动文档容器应用程序

  1. “文件”菜单中,单击“新建”子菜单中的“项目”。

  2. 在左窗格中,单击 “视觉对象C++ 项目类型。

  3. 从右窗格中选择 MFC 应用程序

  4. 将项目命名为 MyProj,单击“ 确定”。

  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替换,这是默认打印准备。

    活动文档包容将提供改进的打印方案:

    • 可以首先通过其 IPrint 界面调用活动文档,并指示其打印自身。 这不同于以前的 OLE 包含,其中容器必须将包含项的图像呈现到打印机 CDC 对象上。

    • 如果失败,请告知包含项目通过其 IOleCommandTarget 接口自行打印

    • 如果失败,自行呈现项目。

    静态成员函数 COleDocObjectItem::OnPrintCOleDocObjectItem::OnPreparePrinting如上一代码中实现的一样,处理此改进的打印方案。

  11. 添加你自己的任何实现并生成应用程序。

另请参阅

主动文档管理