MFC创建MDI程序一个Doc对应多个View

新建一个多文档的工程

MFC创建MDI程序一个Doc对应多个View_第1张图片

点击确定

MFC创建MDI程序一个Doc对应多个View_第2张图片

中间没有注释说明的就一路Next,知道下面的步骤可以选择CView的基类

MFC创建MDI程序一个Doc对应多个View_第3张图片

点击完成应用程序框架完成

MFC创建MDI程序一个Doc对应多个View_第4张图片

下面,就开始在工程中在插入一个视图类

MFC创建MDI程序一个Doc对应多个View_第5张图片

定义新建类的名称同时选择其基类

MFC创建MDI程序一个Doc对应多个View_第6张图片

点击完成,新类的创建就完成了。

MFC创建MDI程序一个Doc对应多个View_第7张图片

新视图类的创建就完成了。下面将新的视类添加到模板中去,在此之前先添加一个菜单,一会就知道是干嘛的了

MFC创建MDI程序一个Doc对应多个View_第8张图片

新建一个菜单,菜单的ID为IDR_MENU1,然后对菜单进行设置,同时要注意到String Table表中,添加的那一行(红线标记的那个),一会就知道有用了,还有请注意一下String Table(字符串表)中ID为IDR_MENU1的标题\nDemoAA\nDemoBB\n\n\nDemoCC.Document\nDemoDD Document,注意一下红色的标记的字符

接下来就是在CDemoApp类中InitInstance()中添加代码了,看图说话

MFC创建MDI程序一个Doc对应多个View_第9张图片

上图表达的非常的清晰。下面就可以进行编译运行程序了,但是出现了介个

MFC创建MDI程序一个Doc对应多个View_第10张图片

注意到这个DemoBB了吧,去之前的字符串表那找去,下面分别选择Demo和DemoBB以后程序的情况是

MFC创建MDI程序一个Doc对应多个View_第11张图片

为什么会出现这么多的情况呢,那这就是多文档的功能

MFC创建MDI程序一个Doc对应多个View_第12张图片

通过给CDemoApp类中的InitInstance()里边的AddDocTemplate(pDocTemplate);加断点就能跟到CWinApp类中和CDocManager类中,然后在找找OnFileNew函数不就下上断点了,下完断点接着重新调试,一步一步的F10就会发现if (!ProcessShellCommand(cmdInfo))会产生奇妙的东西,呵呵,别忘记看堆栈,得了本节就到这里


你可能感兴趣的:(MFC)