码迷,mamicode.com
首页 > 编程语言 > 详细

关于MFC视图文档框架的理解-1

时间:2018-04-11 18:12:21      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:MF   关于   add   end   对象   因此   class   mfc   document   

一、单个文档和多个文档的区别:

MFC分为对话框程序,单文档程序和多文档程序。

单个文档程序:一个主框架内仅允许打开一个视图,若要打开另一个,则当前的文档必须得关闭。单文档程序可以打开不同格式的文档。

对于单文档程序,主框架(CFrameWnd)、视图(CView)、文档(CDocument)被文档模板CSingleDocTemplate粘合在一起。

多个文档程序:一个主框架内可以打开多个视图。

对于多文档程序,主框架(CMDIFrameWnd)是单独存在的,子框架(CMDIChildWnd)、视图(CView)、文档(CDocument)被文档模板CMultiDocTemplate粘合在一起的。

二、单文档模板和多文档模板的区别:

文档模板是管理能打开文件类型的,不同的文件类型就需要不同的文档模板。

一个CSigleDocTemplate和CMultiDocTemplate都只能打开一种类型的文档,区别是前者只能打开一个文档,后者可以打开多个同类格式的文档。

因此如果需要程序支持多种格式的文档,必须添加不同的文档模板。

三、CDocument、CView、CChildFrameWnd是由谁创建的?

是由文档模板创建的。

CMultiDocTemplate* pDocTemplate;

pDocTemplate=new CMultiDocTemplate(ID_MAINFRAME,RUNTIME_CLASS(CMyDoc),RUNTIME_CLASS(CMyFrame),RUNTIME_CLASS(CMyView));//这一句只是初始化一个文档模板,并没有创建文档视图框架对象,因为这些对象是在后面由文档模板调用OpenDocumentFile()创建的。

AddDocTemplate(pDocTemplate);//文档模块是文档类型模板,决定了该程序支持多少种文件类型

关于MFC视图文档框架的理解-1

标签:MF   关于   add   end   对象   因此   class   mfc   document   

原文地址:https://www.cnblogs.com/zhuluqing/p/8796965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!