文档、视图和框架
核心 MFC 框架中心是文档和视图的概念。 文档是用户中的编辑会话中进行交互的数据对象。 它通过在 文件 菜单的 New 或 打开 命令文件中创建和通常保存。(标准 MFC 文档,从类 CDocument派生,与活动文档和 OLE 文档不同组合。)视图是用户与文档窗口交互的对象。
在运行的应用程序的关键对象是:
文档或文档。
文档类 (派生自 CDocument) 指定应用程序数据。
如果希望应用程序的 OLE 功能,从其派生类之一派生或 COleDocument 文档类,根据所需功能的类型。
视图或视图。
视图派生类 (从 CView) 对数据的用户“窗口”。视图类控件用户如何查找文档的数据并与之交互。 在某些情况下,您可能有文档数据的多个视图。
如果需要滚动,请从派生。CScrollView 如果视图在对话框模板资源。计划的用户界面,请从派生。CFormView 对于简单的文本数据,请使用 CEditView从或派生。 对于基于窗体的访问,应用程序 (如数据输入程序,请从 CRecordView 派生 (用于 ODBC。) 可用类、CTreeViewCListView和 CRichEditView。
框架窗口
视图是显示的。“文档框架窗口”。在 SDI 应用程序,文档框架窗口也是“主框架窗口”的应用程序。 在 MDI 应用程序,文档窗口是子窗口显示在主框架窗口内。 派生的主框架窗口类指定样式和视图包含框架窗口的其他特性。 如果需要自定义,请从 CFrameWnd 框架窗口派生自定义 SDI 应用程序的文档框架窗口。 从 CMDIFrameWnd 派生自定义 MDI 应用程序的主框架窗口。 并从 CMDIChildWnd 中派生一个自定义类的应用程序支持的每一个不同 MDI 文档框架窗口。
文档模板或模板
安排、视图和文档模板文件提供框架窗口。 特定文档模板类,从类派生,CDocTemplate创建和管理一类型的所有打开的文档。 支持的应用程序的多文档的一种类型具有多文档模板。 SDI 为应用程序使用 CSingleDocTemplate 类或对 MDI 应用程序使用 CMultiDocTemplate 类。
Application 对象
应用程序类 (派生自 CWinApp) 控制所有对象上面并指定该应用程序的行为 (初始化和清理。 应用程序中只具有的应用程序对象创建并管理该应用程序支持的任何文档类型的文档模板。
线程对象
如果您的应用程序创建单独线程执行,例如在后台执行计算 - 您将使用 CWinThread从派生的类。 CWinApp 从 CWinThread 派生并执行表示 (或主进程) 在应用程序主线程。 在辅助线程还可以使用 MFC。
在正在运行的应用程序,则这些对象而共同响应用户操作边界、由命令和其他消息。 单个应用程序对象管理一个或多个文档模板。 每个文档模板创建并管理一个或多个文档 (具体取决于应用程序是否是 SDI 或 MDI)。 用户查看和通过视图来操作文档包含在框架窗口内。 下图演示在这些对象之间的关系。的 SDI 应用程序
运行 SDI 应用程序中的对象
此系列的其他文章解释框架工具,MFC 应用程序向导"和资源编辑器,如何创建这些对象,它们,而且,您如何编程中使用它们。 文档、视图和框架窗口中 窗口对象 文档/视图结构和更详细的讨论。