文档、视图和框架
2013-05-17 10:44
141 查看
文档和视图的概念是 MFC 框架的中心。文档是用户在编辑会话中与之交互的数据对象。它是用“文件”菜单上的“新建”或“打开”命令创建的,并且通常保存在文件中。(从 CDocument 类派生的标准 MFC 文档不同于活动文档和 OLE 复合文档。)视图是窗口对象,用户通过它与文档交互。
正在运行的应用程序中的主要对象有:
文档。
文档类(从 CDocument 派生)指定应用程序的数据。
如果应用程序中需要 OLE 功能,则从 COleDocument 或其派生类之一派生文档类,具体取决于所需的功能类型。
视图。
视图类(从 CView 派生)是用户的“数据窗口”。视图类控制用户如何查看文档数据以及如何与之交互。在某些情况下,可能需要一个文档具有多个数据视图。
如果需要滚动,则从 CScrollView 派生。如果视图具有在对话框模板资源中布局的用户界面,则从 CFormView 派生。对于简单的文本数据,使用CEditView 或从其派生。对于基于窗体的数据访问应用程序(如数据输入程序),从 CRecordView(对于
ODBC)派生。可用的还有CTreeView、CListView 和 CRichEditView 类。
框架窗口
视图显示在“文档框架窗口”内。在 SDI 应用程序中,文档框架窗口也是应用程序的“主框架窗口”。在 MDI 应用程序中,文档窗口是显示在主框架窗口中的子窗口。派生的主框架窗口类指定包含视图的框架窗口的样式和其他特性。如果需要自定义框架窗口,则从 CFrameWnd 派生以自定义 SDI 应用程序的文档框架窗口。从 CMDIFrameWnd 派生以自定义 MDI 应用程序的主框架窗口。另外从 CMDIChildWnd 派生一个类,以自定义应用程序支持的每种不同的
MDI 文档框架窗口。
文档模板
文档模板编排文档、视图和框架窗口的创建。从 CDocTemplate 类派生的特定的文档模板类创建和管理一种类型的所有打开的文档。支持多种文档类型的应用程序具有多个文档模板。对 SDI 应用程序使用 CSingleDocTemplate 类,对 MDI 应用程序使用 CMultiDocTemplate 类。
应用程序对象
应用程序类(从 CWinApp 派生)控制上面的所有对象,并指定应用程序的行为,如初始化和清理。应用程序仅有的一个应用程序对象创建和管理该应用程序支持的任何文档类型的文档模板。
线程对象
如果应用程序创建单独的执行线程(例如在后台执行计算的线程),则使用从 CWinThread 派生的类。CWinApp 本身是从 CWinThread 派生的,并且表示应用程序中的主执行线程(或主进程)。也可以在辅助线程中使用 MFC。
在一个正在运行的应用程序中,这些对象通过命令和其他消息绑定在一起,共同响应用户操作。一个应用程序对象管理一个或多个文档模板。每个文档模板创建和管理一个或多个文档(取决于应用程序是 SDI 还是 MDI)。用户通过包含在框架窗口中的视图查看和操作文档。下图显示 SDI 应用程序中这些对象之间的关系。
正在运行的 SDI 应用程序中的对象
本文章族的其余部分阐释框架工具、“MFC 应用程序向导”和资源编辑器如何创建这些对象,如何一起工作以及如何用于编程。窗口对象和文档/视图结构中对文档、视图和框架窗口进行了更详细的探讨。
使用类编写 Windows 应用程序
转自:http://msdn.microsoft.com/zh-cn/library/cc485520(v=vs.71).aspx
正在运行的应用程序中的主要对象有:
文档。
文档类(从 CDocument 派生)指定应用程序的数据。
如果应用程序中需要 OLE 功能,则从 COleDocument 或其派生类之一派生文档类,具体取决于所需的功能类型。
视图。
视图类(从 CView 派生)是用户的“数据窗口”。视图类控制用户如何查看文档数据以及如何与之交互。在某些情况下,可能需要一个文档具有多个数据视图。
如果需要滚动,则从 CScrollView 派生。如果视图具有在对话框模板资源中布局的用户界面,则从 CFormView 派生。对于简单的文本数据,使用CEditView 或从其派生。对于基于窗体的数据访问应用程序(如数据输入程序),从 CRecordView(对于
ODBC)派生。可用的还有CTreeView、CListView 和 CRichEditView 类。
框架窗口
视图显示在“文档框架窗口”内。在 SDI 应用程序中,文档框架窗口也是应用程序的“主框架窗口”。在 MDI 应用程序中,文档窗口是显示在主框架窗口中的子窗口。派生的主框架窗口类指定包含视图的框架窗口的样式和其他特性。如果需要自定义框架窗口,则从 CFrameWnd 派生以自定义 SDI 应用程序的文档框架窗口。从 CMDIFrameWnd 派生以自定义 MDI 应用程序的主框架窗口。另外从 CMDIChildWnd 派生一个类,以自定义应用程序支持的每种不同的
MDI 文档框架窗口。
文档模板
文档模板编排文档、视图和框架窗口的创建。从 CDocTemplate 类派生的特定的文档模板类创建和管理一种类型的所有打开的文档。支持多种文档类型的应用程序具有多个文档模板。对 SDI 应用程序使用 CSingleDocTemplate 类,对 MDI 应用程序使用 CMultiDocTemplate 类。
应用程序对象
应用程序类(从 CWinApp 派生)控制上面的所有对象,并指定应用程序的行为,如初始化和清理。应用程序仅有的一个应用程序对象创建和管理该应用程序支持的任何文档类型的文档模板。
线程对象
如果应用程序创建单独的执行线程(例如在后台执行计算的线程),则使用从 CWinThread 派生的类。CWinApp 本身是从 CWinThread 派生的,并且表示应用程序中的主执行线程(或主进程)。也可以在辅助线程中使用 MFC。
在一个正在运行的应用程序中,这些对象通过命令和其他消息绑定在一起,共同响应用户操作。一个应用程序对象管理一个或多个文档模板。每个文档模板创建和管理一个或多个文档(取决于应用程序是 SDI 还是 MDI)。用户通过包含在框架窗口中的视图查看和操作文档。下图显示 SDI 应用程序中这些对象之间的关系。
正在运行的 SDI 应用程序中的对象
本文章族的其余部分阐释框架工具、“MFC 应用程序向导”和资源编辑器如何创建这些对象,如何一起工作以及如何用于编程。窗口对象和文档/视图结构中对文档、视图和框架窗口进行了更详细的探讨。
请参见
使用类编写 Windows 应用程序转自:http://msdn.microsoft.com/zh-cn/library/cc485520(v=vs.71).aspx
相关文章推荐
- VS2015单文档视图项目中文档、框架以及视图创建过程
- MFC文档、视图和框架
- 在基于对话框的程序中弹出文档视图的框架
- MFC 文档 视图 框架窗口间的关系 和消息传送规律
- VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)
- (他山之石)MFC学习之路(二)如何在多文档视图中,程序一开始运行,只出现主框架,不打开一个文档?
- 多文档 主框架窗口、客户窗口、子窗口和视图的关系,有图显示
- 结合ADO、ADOX和MFC的文档/视图/框架架构创建和打开Access数据库
- Win32 框架文档视图(1)
- 鸡啄米vc++2010系列39(文档、视图和框架:各对象之间的关系)
- 获得指针(文档、视图、框架)
- 框架窗口和文档、视图的交互(MFC)
- MFC中文档框架视图处理消息的顺序
- MFC 框架、文档、视图操作常用函数用法简析
- MFC文档、视图、框架的建立
- 文档视图框架简介
- MFC 模板、文档、视图、框架的关系
- MFC 框架文档视图关系
- VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)
- 框架、文档与视图的毁灭(VC学习笔记)