2 bigtree mfc bigtree_mfc 于 2014.11.24 16:41 提问

【MFC分割窗口后的单文档怎么变为多文档??】

网上的办法使过,好像不行;
原因可能就是因为窗口被分割了的原因,
我将分割窗口的过程全部屏蔽掉以后从单文档变为多文档没有问题。如果加上窗口分割以后就不能变为多文档了。
下面是单文档和多文档的差别之一,我的问题也就是在这里。
【其实我问题的原因是这样的,想在菜单中弄一个新建文档的命令,而多文档刚好可以解决这个问题,如果能解决这个问题也照样给分】

1个回答

bigtree_mfc
bigtree_mfc   2014.11.24 16:41
已采纳

//多文档
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(
IDR_MY2TYPE,
RUNTIME_CLASS(CMy45Doc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CMy45View));
AddDocTemplate(pDocTemplate);

CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
return FALSE;
m_pMainWnd = pMainFrame;


//单文档
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMy45Doc),
RUNTIME_CLASS(CMainFrame),

RUNTIME_CLASS(CMy45View));
AddDocTemplate(pDocTemplate);

AddDocTemplate (new CMultiDocTemplate(IDD_PROP2,

RUNTIME_CLASS(CMy45Doc),
RUNTIME_CLASS(CMDIChildWnd),

RUNTIME_CLASS(CMy2FormView)));


Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
单文档多视图(分割窗口)
单文档多视图 本节演示了如何在一个框架中显示两个视图。 1.实例说明 在MFC中,视图必须存在于框架之中,而单文档只有一个框架,所以一次只能显示一个视图,如果想显示新视图必须关闭当前视图。如果想同时显示两个视图可以用分割窗口。 本示例用于查询学生信息,数据存在文档类中,用户可以在第一个视图中输入学号,单击“查找”按钮查找学生消息,结果会显示在第二个视图中,效果如图1-53所示。 图1
MFC单文档视图拆分窗口
第一步:准备2个视图类(如CTViewOne, CTViewTwo)第二步:在CMainFrame类的头文件中添加数据成员变量://MainFrm.h protected: CSplitterWnd m_wndSplitter;第三步:重载CMainFrame类的OnCreateClient函数:BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT l
MFC单文档多视图的切换的3种实现
MFC单文档多视图的切换的3种实现 MFC建立程序工程向导时最后一步,选择CFormView作为View的基类。 假设工程名称为CMySingleDoc。 默认生成的View类名为:CMySingleDocView,它的属性为WS_CHILD,切记必须为WS_CHILG子窗口风格,不能为WS_POPUP弹出式窗口风格。   进入工程资源视图,添加对话框资源,添加控件,
MFC多文档窗口的静态分割和坐标轴的绘制
在class CChildFrame : public CMDIChildWnd下添加变量 protected:  CSplitterWnd m_wndSplitter; //分割线 新建两个基于CView的类CValueView,CVarityView 添加OnCreateClient函数 BOOL CChildFrame::OnCreateClient(LPCREATESTRUC
MFC多文档中FromView中控件随着窗口的放大缩小的功能实现
本人参考这个程序自己写了在CFromView中的控件随着窗口放大缩小的程序 在单文档中的 CFromView控件随着窗口放大缩小的问题完全没有问题。 而在多文档的CFromView 中,计算出现很大的偏差,本人估计可能是在初始化的时候OnInitialUpdate()调用GetClientRect( &r );GetWindowRect( &rr ); 的时候 窗口并没有处于最大化的状态!! 大家帮我看看!!
CSplitterWnd类分割MFC单文档应用程序窗口
前言 网上其他大牛已经对MFC窗口分割进行了详细介绍,这里主要用意是分享我在做窗口分割的经验,若是对大家能够有所帮助的话,我倍感荣幸,由于本人水平有限,如若本文中出现错误,望大家见谅与指正! 工具函数 MFC窗口分割的作案工具主要是CSplitterWnd类成员函数CreateStatic()与CreateView(),CreateStatic()函数用于分割窗口,可以利用返回值判断分割是否
【数字图像处理】 二.MFC单文档分割窗口显示图片
本文是讲述《数字图像处理》系列文章,继上篇讲述BMP格式图片和显示后,该篇讲述如何对单文档进行分割,主要是采用CSplitterWnd静态分割窗口显示图片,本文主要结合自己的课程及常用图片软件讲解.同时闲谈了自己遇到的error MSB6006'cl.exe' exited with code 2和error LINK1158:无法运行 'rc.exe'错误.希望文章对大家有所帮助,文章中有很多不足之处,请海涵.
VS2013/MFC编程入门之三十八(文档、视图和框架:分割窗口)
上一节中讲了文档、视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口。       分割窗口概述       分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图。        MFC分割窗口的方式有两种,动态分割和静态分割。        动态分割窗口通常用于创建同一个文档对应的多个视图
MFC 单文档窗口最大化显示
1、定位到APP文件中
【框架MFC】限制单文档和多文档窗口范围最小值(设置窗口宽度和高度的下限)
原理 在CWnd类的“CreateEx”函数中使用了“::AfxCtxCreateWindowEx”来设置窗口的属性,在调用“::AfxCtxCreateWindowEx”函数之前,调用了PreCreateWindow函数获取窗口信息,所以重载PreCreateWindow函数,并在中给定“cs.cx、cs.cy”就可以设置窗口宽度和高度的下限。 BOOL CWnd::CreateEx(DWO