你可以因为现任不好而分手,但千万不要认为别人更好,永远有人更好,眼下便是更好。。。
---- 网易云热评
一、 多文档视图架构程序
1、特点: 可以管理多个文档。(可以有多个文档类对象)
2、相关类
CWinApp / CMDIFrameWnd / CMDIChildWnd / CView / CDocument-文档类
CDocManager - 文档管理类
CDocTemplate - 文档模板类
CMultiDocTemplate - 多文档模板类
3、关系图
theApp
|->m_pDocManager //文档管理类对象地址
|->m_templateList
|->CMultiDocTemplate* pTemplate
|->m_docList //文档类对象地址
|->m_pDocClass
//文档类的静态变量的地址 RUNTIME_CLASS(CMyDoc)
|->m_pFrameClass
//子框架类的静态变量的地址 RUNTIME_CLASS(CMyChild)
|->m_pViewClass
//视图类的静态变量的地址 RUNTIME_CLASS(CMyView)
4 OnFileNew函数的执行过程
通过theApp获取文档管理类对象地址(m_pDocManager)
通过文档管理类对象地址(m_pDocManager)获取一个链表成员(m_templateList)并从链表中获取单文档模板类对象(pTemplate)
利用单文档模板类对象(pTemplate)获取文档类的静态变量地址,并调用对象加工厂函数,动态创建文档类对象,并返回对象地址。
利用单文档模板类对象(pTemplate)获取框架类的静态变量地址,并调用对象加工厂函数,动态创建子框架类对象,并返回对象地址。
利用框架类对象调用LoadFrame函数,创建主框架窗口.
在处理框架窗口的WM_CREATE消息时,动态创建视图类对象并创建视图窗口。
在处理视图窗口的WM_CREATE消息时,将视图类对象和文档类对象建立绑定关系。
二、新建win32多文档
1、新建windows桌面向导
2、设为启动项并配置相关属性
3、添加菜单资源,菜单项必须两个,否则报错