热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

文档、视图和框架

文档和视图的概念是MFC框架的中心。文档是用户在编辑会话中与之交互的数据对象。它是用“文件”菜单上的“新建”或“打开”命令创建的,并且通常保存在文件中。(

文档和视图的概念是 MFC 框架的中心。文档是用户在编辑会话中与之交互的数据对象。它是用“文件”菜单上的“新建”或“打开”命令创建的,并且通常保存在文件中。(从 CDocument 类派生的标准 MFC 文档不同于活动文档和 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 类。

  • 应用程序对象

    应用程序类(从 CWinApp 派生)控制上面的所有对象,并指定应用程序的行为,如初始化和清理。应用程序仅有的一个应用程序对象创建和管理该应用程序支持的任何文档类型的文档模板。

  • 线程对象

    如果应用程序创建单独的执行线程(例如在后台执行计算的线程),则使用从 CWinThread 派生的类。CWinApp 本身是从 CWinThread 派生的,并且表示应用程序中的主执行线程(或主进程)。也可以在辅助线程中使用 MFC。

在一个正在运行的应用程序中,这些对象通过命令和其他消息绑定在一起,共同响应用户操作。一个应用程序对象管理一个或多个文档模板。每个文档模板创建和管理一个或多个文档(取决于应用程序是 SDI 还是 MDI)。用户通过包含在框架窗口中的视图查看和操作文档。下图显示 SDI 应用程序中这些对象之间的关系。

正在运行的 SDI 应用程序中的对象

本文章族的其余部分阐释框架工具、“MFC 应用程序向导”和资源编辑器如何创建这些对象,如何一起工作以及如何用于编程。窗口对象和文档/视图结构中对文档、视图和框架窗口进行了更详细的探讨。


请参见

使用类编写 Windows 应用程序


转自:http://msdn.microsoft.com/zh-cn/library/cc485520(v=vs.71).aspx


推荐阅读
  • XAMPP 遇到 404 错误:无法找到请求的对象
    在使用 XAMPP 时遇到 404 错误,表示请求的对象未找到。通过详细分析发现,该问题可能由以下原因引起:1. `httpd-vhosts.conf` 文件中的配置路径错误;2. `public` 目录下缺少 `.htaccess` 文件。建议检查并修正这些配置,以确保服务器能够正确识别和访问所需的文件路径。 ... [详细]
  • 本文深入解析了HTML框架集(FRAMESET)的使用方法及其应用场景。首先介绍了几个关键概念,如如何通过FRAMESET标签将主视图划分为多个独立的区域,每个区域可以加载不同的HTML文件。此外,还详细探讨了FRAMESET在实际开发中的优缺点,并提供了具体的实例代码,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 在探讨C语言编程文本编辑器的最佳选择与专业推荐时,本文将引导读者构建一个基础的文本编辑器程序。该程序不仅能够打开并显示文本文件的内容及其路径,还集成了菜单和工具栏功能,为用户提供更加便捷的操作体验。通过本案例的学习,读者可以深入了解文本编辑器的核心实现机制。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • Vim 编辑器功能强大,但其默认的配色方案往往不尽如人意,尤其是注释颜色为蓝色时,对眼睛极为不友好。为了提升编程体验,自定义配色方案显得尤为重要。通过合理调整颜色,不仅可以减轻视觉疲劳,还能显著提高编码效率和兴趣。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 本文详细介绍了如何安全地手动卸载Exchange Server 2003,以确保系统的稳定性和数据的完整性。根据微软官方支持文档(https://support.microsoft.com/kb833396/zh-cn),在进行卸载操作前,需要特别注意备份重要数据,并遵循一系列严格的步骤,以避免对现有网络环境造成不利影响。此外,文章还提供了详细的故障排除指南,帮助管理员在遇到问题时能够迅速解决,确保整个卸载过程顺利进行。 ... [详细]
  • 在VMware虚拟机中部署带有中文图形界面的CentOS 7 Linux系统
    本文详细介绍了在VMware虚拟机中部署带有中文图形界面的CentOS 7 Linux系统的步骤。首先,通过“文件”菜单选择“新建虚拟机”并进入自定义设置。接着,在硬盘兼容性选项中选择默认设置。为了更好地进行Linux操作系统的安装练习,建议选择稍后安装操作系统,并在虚拟机安装完成后,根据实际需求删除不必要的硬件组件。此外,本文还提供了详细的配置参数和注意事项,帮助用户顺利完成整个部署过程。 ... [详细]
  • Linux基础知识:Vi与Vim编辑器详解
    Linux基础知识:Vi与Vim编辑器详解 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 在 Angular Google Maps 中实现图片嵌入信息窗口的功能,可以通过使用 `@agm/core` 库来实现。该库提供了丰富的 API 和组件,使得开发者可以轻松地在地图上的信息窗口中嵌入图片。本文将详细介绍如何配置和使用这些组件,以实现动态加载和显示图片的功能。此外,还将探讨一些常见的问题和解决方案,帮助开发者更好地集成这一功能。 ... [详细]
  • 在 Windows Vista 及其他版本的 Windows 系统中,用户可能会遇到“组策略”无法启动的问题。组策略通过修改注册表中的特定项来实现对系统的配置,相比手动编辑注册表,它提供了更安全、便捷和灵活的管理方式,因此受到广大用户的青睐。然而,当这一重要工具失效时,用户需要采取有效的措施来解决问题,确保系统的正常运行。 ... [详细]
  • 深入解析JavaScript中的函数防抖与节流技术及其应用场景
    本文深入探讨了JavaScript中函数防抖和节流技术的原理及应用场景。通过详细的示例代码,全面解析了这两种优化方法在实际开发中的重要作用,为开发者提供了宝贵的参考和实践指导。 ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
author-avatar
思念着你2502859117
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有