MFC多文档与单文档结构的区别

本文详细介绍了使用MFC实现多文档界面(MDI)和单文档界面(SDI)的方法,包括如何通过CMultiDocTemplate和CSingleDocTemplate管理文档视图框架结构,并对比了两种结构的主要差异。

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

1、多文档

CMultiDocTemplate* pDocTemplate;
pDocTemplate1 = new CMultiDocTemplate(
IDR_DRAWDATA,
RUNTIME_CLASS(CDrawDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CDrawView));


用CDrawDoc CDrawView CChildFrame构成了文档视图框架结构,由CMultiDocTemplate管理


CChildFrame继承CMDIChildWnd,是文档视图框架结构的框架部分
CMainFrame继承CMDIFrameWnd 是MDI应用程序的主框架,包含一些菜单和工具栏


2、单文档
CMainFrame直接继承CFrameWnd
// 将用作文档、框架窗口和视图之间的连接
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(C单文档Doc),
RUNTIME_CLASS(CMainFrame),       // 主 SDI 框架窗口
RUNTIME_CLASS(C单文档View));
用C单文档Doc C单文档View  CMainFrame构成了文档视图框架结构,由CSingleDocTemplate管理,
不过这里只有一个主框架CMainFrame


3、没有文档的视图框架结构 
用vs创建工程的时候选择单文档,注意不要勾选“文档视图结构支持”
此时的CMyView在主窗口类里面创建,占据了CMainFrame的灰色工作区
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值