MFC 多文档模板切换

本文档详细介绍了如何在MFC应用程序中实现多文档模板的切换。通过在app对象中为每个模板定义变量,并在需要时使用这些变量创建新文件,而不是依赖系统默认的ID_FILE_NEW命令。同时,提供了在菜单中添加自定义模板新建命令的实现方法,以及如何重载App::OnFileNew()函数以打开默认模板。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

你的app对象中给你自己的每个模板添加一个模板变量,保存你的所有模板。 
然后需要的时候直接使用模板变量来新建文件,不使用系统默认的   ID_FILE_NEW(把它从菜单删掉) 

//   MyApp.h 
class   CMyAPP...{ 
CMultiDocTemplate*   m_pTemplateAaa,   m_pTemplateBbb; 
...... 
} 

//   MyApp.cpp 
m_pTemplateAaa   =   new   CMultiDocTemplate( 
IDR_AAATYPE, 
RUNTIME_CLASS(CAaaDoc), 
RUNTIME_CLASS(CChildFrame),   //   custom   MDI   child   frame 
RUNTIME_CLASS(CAaaView)); 
AddDocTemplate(m_pTemplateAaa); 

m_pTemplateBbb   =   new   CMultiDocTemplate( 
IDI_MYFORM, 
RUNTIME_CLASS(CBbbDoc), 
RUNTIME_CLASS(CFormChild),   //   custom   MDI   child   frame 
RUNTIME_CLASS(CMyForm)); 
AddDocTemplate(m_pTemplateBbb   ); 


然后在菜单添加命令   ID_FILE_NEW_AAA、ID_FILE_NEW_BBB 
用ClassWizard添加对应的处理程序OnFileNewAaa、OnFileNewBbb 
void   CMyApp::OnFileNewAaa(){ 
            ASSERT_KINDOF(CMultiDocTemplate,   m_pTemplateAaa); 
            m_pTemplateAaa-> OpenDocumentFile(NULL); 
} 
void   CMyApp::OnFileNewBbb(){ 
            ASSERT_KINDOF(CMultiDocTemplate,   m_pT
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值