mfc 实现一分文档对应多个视图

本文介绍了如何在MFC应用程序中实现一个文档对应多个视图的功能。主要步骤包括创建不同的视图类,使用CMultiDocTemplate创建模板,初始化实例,并在Mainframe类中添加切换视图的函数。通过响应按钮事件调用SwitchToView函数,根据需要切换不同视图。
摘要由CSDN通过智能技术生成
1--首先创建想切换的两个视图类(view类) 比如: class CTestView1 : public CFormView { } class CTestView2 : public CView { } 2--然后在xx.cpp文件中(XX代表工程名)即CxxApp类的cpp文件中 包含切换的两个类的头文件, 如: #include "TestView1.h" #include "TestView2.h" 3--在 CxxApp的头文件里申请两个CMultiDocTemplate 指针 如: CMultiDocTemplate * m_pTemplateTestView1; CMultiDocTemplate * m_pTemplateTestView2; 4--在CxxApp的InitInstance()函数内,创建上面两个指针指向的实例 BOOL CXXApp::InitInstance() { ... m_pTemplateTestView1= new CMultiDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CTestViewDoc), RUNTIME_CLASS(CChildFrame), // custom MDI child frame RUNTIME_CLASS(CTestView1)); AddDocTemplate(m_pTemplateTestView1); m_pTemplateTestView2= new CMultiDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CTestViewDoc), RUNTIME_CLASS(CChildFrame), // custom MDI child frame RUNTIME_CLASS(CTestView2)); AddDocTemplate(m_pTemplateTestView2); //添加到此app的模板管理类中 ... } 注意CMultiDocTemplate()内第一个参数指向一个字符串的资源ID,如果存在多个字符串
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值