MFC 多文档的新建

           MFC多文档的新建文档的时候 ,我们首先触发的app的消息,app ::OnFileNew()然后是 m_pDocManager->OnFileNew()到了文档管理器 类中OnFileNew中会CDocTemplate* pTemplate = (CDocTemplate*)m_templateList.GetHead();  从而找到CDocTemplate* pTemplate ;最后会调用pTemplate->OpenDocumentFile(NULL);。我们要创建一个属于自己的模板的应用程序就要跳过 文档管理类直接去创建   。具体做法是你在app中去定义几个模板类指针CDocTemplate* pTemplate 1,CDocTemplate* pTemplate 2,CDocTemplate* pTemplate 3.我们在app的OnFileNew 的时候我们直接用这些CDocTemplate* 指针* pTemplate(1,2,3)中的一个去创建文档。正常的流程是在这个之后会 CMultiDocTemplate::OpenDocumentFile,在这个函数中CDocument* pDocument = CreateNewDocument();我们要是改变了模板类指针的,创建的时候会根据我们自己的模板类中添加的docment的runtimeclass 去构建文档。之后会调用CFrameWnd* pFrame = CreateNewFrame(pDocument, NULL);这个会加载框架 和view  也是更加frame 的runtimeclass和view的runtimeclass 去构建的。所以要改变构建自己的文档框架视图就是要重载app ::OnFileNew  这样就会去构建的你的文档视图。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值