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的灰色工作区