MFC构造可动态加载的文档模型

与实现主窗口插件的原理一样,我们还可以构造另一类基于.NET的插件对象用于加载文档模板。一个包含文档模板的.NET组件库与主窗口一样,也是一个基于MFC框架的动态链接库。手工建立这个库的过程与主窗口工程的建立类似:第一,需要一个支持托管扩展的MFC动态链接库工程;第二,需要一个辅助的基于文档的MFC程序工程;第三,将辅助工程中与文档相关的代码全部添加到动态链接库工程中。这个过程同样可以实现为一个集成的Wizard(在光盘中提供)。

步骤/方法

  • 01

    实现文档模板动态插入的代码如下: void ActiveDocTemplate(String* strExtImpl) { if(!g_pDotNetExtImpl) { ... CWinApp* pApp = AfxGetApp(); AfxSetResourceHandle(theApp.m_hInstance); CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_DocumentXDocTemplate3TYPE, RUNTIME_CLASS( CDocumentXDocTemplate3Doc), // custom MDI child frame: RUNTIME_CLASS(CChildFrame),

  • 02

    RUNTIME_CLASS( CDocumentXDocTemplate3View)); if (!pDocTemplate) return; CString strFileInfo,strFileExt; pDocTemplate->GetDocString(strFileInfo, CDocTemplate::filterName); pDocTemplate->GetDocString(strFileExt, CDocTemplate::filterExt); g_pDotNetExtImpl-> m_DocInfoDictionary[strFileInfo] = strFileExt; g_pDotNetExtImpl->m_pCurDocTemplate = pDocTemplate; pApp->AddDocTemplate(pDocTemplate); } }

  • 03

    从上述代码中可以看出,文档模板插件的目的就是实现一个从外部构造的模板,自然地插入到应用程序对象的文档模板队列以使得程序支持新的文档类型。

(0)

相关推荐

  • 如何加粗Word文档页眉横线

    Word是现在十分常用的文件类型之一,有些新用户不知道如何加粗Word文档页眉横线,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先打开电脑中的Word文档,接着根据下图箭头所指 ...

  • word2003如何引用其它文档的样式和格式

    有时候为了排版方便,我们常常想用一种更快的方法,将其它的已有的文档的格式直接运用到但前文档.小编给出一种加载其它文档中的样式和格式的方法. 本文以添加"正文为例" 操作方法 01 ...

  • 插入Word文档中的图片显示不完全怎么办

    今天,在用Word编辑文档时,需要插入图片,但当图片插入后,发现图片并未完全打开,只是出现一个长条,遇到这样的问题,当然要尽快解决,本人从不喜欢求人,一贯自已解决,于是上网搜索,最终找到解决方法,于是 ...

  • 如何在js中动态引入或加载js文件?

    一个网页加载时,js文件一般是通过html中的标签加载的,但有时也会有通过js代码动态引入js文件的需求.下面介绍具体做法. 原理 01 在js中动态引入js文件的核心原理是使用js在html界面上增 ...

  • AE怎么制作一个圆形波纹加载动画?

    经常看到网上有很多很棒的动态加载画面,都会心痒痒也想做个出来.在网上看了很多文章,知道很大部分都是用AE做出来的.经过一段时间学习AE,下面就让我们也开始做些简单的动态加载页面吧!首先来张效果图: 1 ...

  • Hadoop datanode重新加载失败无法启动现象解决方法介绍

    本人的解决方法适用于首次已经成功启动整个集群,但是由于不正常的操作造成第二次无法正常启动。首次的启动失败可能原因有很多:可能是由于配置文件错误写入造成的,或是由于ssh无密码登陆配置错误造成 笔者使用 ...

  • Hadoop datanode重新加载失败无法启动解决

    笔者使用的是基于虚拟机的Hadoop分布式安装,由于关闭datanode和namenode的顺序不恰当,所以经常会出现datanode加载失败的情况。 本人的解决方法适用于首次已经成功启动整个集群,但 ...

  • 加载动效项目全解析

    成长期产品如何用最小成本做加载动效统一?4步教你用最小成本达到目标,分别是了解加载动效的价值.成长期产品的加载开展.确定场景及类型.进行竟品分析总结 加载动效的价值 著名的Seo公司Kissmetri ...

  • 如何在Word2007文档中插入书签交叉引用

    在Word2007文档中,通过插入交叉引用可以动态引用当前Word文档中的书签、标题、编号、脚注等内容。以插入书签交叉引用为例,操作步骤如下所述: 第1步,打开已添加书签的Word2007文档窗口,将 ...