VC++ MFC单文档转多文档的步骤方法

子框架ChildFrm的增加与修改:

1、首先在在Headers filessource files中分别添加文件,设其名字为ChileFrm.hChildFrm.cpp,并将自己在外部新建的多文档工程中的ChildFrm.h.cpp文件中的代码复制过去,注意:将.cpp中的app文件头文件改为自己的工程名.h

主框架MainFrm的修改:

2、在主框架MainFrm.h中的DECLARE_DYNCREATE(CMainFrame).cpp文件中的DECLARE_DYNAMIC(CMainFrame, CFrameWnd)

改为IMPLEMENT_DYNAMIC(CMainFrame)   DECLARE_DYNAMIC(CMainFrame,CMDIFrameWnd)

3、将CmainFrm的继承类都改为CMDIFrameWnd

4.将CmainFrm的构造函数由protected改为public

AppProjectName的修改:

5、在cpp文件中加上子框架的头文件;

6:BOOL CWanderApp::InitInstance()的修改:
1CSingleDocTemplate* pDocTemplate;

pDocTemplate = new CSingleDocTemplate(IDR_MainFrmTYPE,

RUNTIME_CLASS(CWanderDoc),

RUNTIME_CLASS(CMainFrmFrame),       // 主 MDI 框架窗口

RUNTIME_CLASS(CWanderView));

改为:CMultiDocTemplate* pDocTemplate;

pDocTemplate = new CMultiDocTemplate(IDR_ProjectNameTYPE,

RUNTIME_CLASS(CWanderDoc),

RUNTIME_CLASS(CChildFrame),       // 主 MDI 框架窗口

RUNTIME_CLASS(CWanderView));

其中IDR_ProjectNameTYPE可在Resoures.h中找到;

7、在AddDocTemplate(pDocTemplate);与CCommandLineInfo cmdInfo;之间加上以下代码一创建主框架:

CMainFrame* pMainFrame = new CMainFrame;

if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))

{

delete pMainFrame;

return FALSE;

}

m_pMainWnd = pMainFrame;

注意:只要在ProcessShellCommand(cmdInfo)之前创建即可。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值