创建活动文档容器应用程序
最简单、最受推崇的活动文档容器应用程序的创建方式为使用 MFC 应用程序向导创建 MFC EXE 容器应用程序,然后将应用程序修改为支持活动文档包容。
创建活动文档容器应用程序
从“文件”菜单中选择“新建”子菜单,然后单击“项目”。
从左窗格中,单击“Visual C++”项目类型。
从右窗格中选择“MFC 应用程序”。
给项目 MyProj 命名,然后单击“确定”。
选择“复合文档支持”页。
选择“容器”或“容器/完全服务器”选项。
选中“活动文档容器”复选框。
单击“完成” 。
当 MFC 应用程序向导完成应用程序生成时,使用解决方案资源管理器打开下列文件:
- MyProjview.cpp
在 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::OnPrint
和COleDocObjectItem::OnPreparePrinting
将处理此改进的打印方案。添加您自己的任何实现并生成应用程序。