mfc学习---文档视图架构
2024-09-27 17:54:06
MFC的AppWizard可以生成三种类型的应用程序:基于对话框的应用、单文档应用(SDI)和多文档应用(MDI)。
一般情况下,采用文档/视结构的应用程序至少应由以下对象组成:
1、应用程序是一个CwinApp派生对象,它充当全部应用程序的容器。应用程序沿消息映射网络分配消息给它的所有子程序。
2、框架窗口是一CfrmeWnd派生对象。
3、文档是一个CDocument派生对象,它存储应用程序的数据,并把这些信息提供给应用程序的其余部分。
4、视窗是Cview派生对象,它与其父框架窗口用户区对齐。视窗接受用户对应用程序的输入并显示相关联的文档数据。
1、应用程序是一个CwinApp派生对象,它充当全部应用程序的容器。应用程序沿消息映射网络分配消息给它的所有子程序。
2、框架窗口是一CfrmeWnd派生对象。
3、文档是一个CDocument派生对象,它存储应用程序的数据,并把这些信息提供给应用程序的其余部分。
4、视窗是Cview派生对象,它与其父框架窗口用户区对齐。视窗接受用户对应用程序的输入并显示相关联的文档数据。
框架窗口仅仅是个视图容器。
MDI应用程序可以处理多个类型的文档,每个类型的文档拥有一个相关联的文档模板对象。文档对象驻留在场景后面,提供由视图对象显示的信息。文档至少有一个相关联的视图。视图只能与一个文档相关联。
MFC调用命令处理程序以响应发生在应用程序中的事件。命令发送的优先级是:
活动的视图->框架窗口->文档->应用程序->默认窗口过程(DefWindowsProc)
总之,在文档/视方式中,文档和视是分离的,即:文档用于保存数据,而视是用来显示这些数据。文档模板维护它们之间的关西。这种文档/视结构在开发大型软件项目时特别有用。
总之,在文档/视方式中,文档和视是分离的,即:文档用于保存数据,而视是用来显示这些数据。文档模板维护它们之间的关西。这种文档/视结构在开发大型软件项目时特别有用。
用vs2008新建一mfc的应用程序,向导采用默认,项目名称为bgplife-mfc,下图为系统生成的默认类,可以看到几个基本类及其基类。
生成的类有:CAboutDlg、CbgplifemfcApp(CWinApp)、CbgplifemfcDoc(CDocument)、CbgplifemfView(CView)、CChildFrame(CMDIChildWnd)、CMainFrame(CMDIFrameWnd),括号中为其基类。
最新文章
- mysql 定时任务
- Laravel 5.1 文档攻略 —— Eloquent:模型对象序列化
- Android应用程序窗口(Activity)的视图对象(View)的创建过程分析
- PhpStorm中字体大小的改变方法
- 灰色预测模型 c# 算法实现
- Jackson 高性能的JSON处理 ObjectMapper
- java常见内存溢出(OOM)
- makefile debug
- Tab页签切换
- nginx默认虚拟主机
- Extension Objects(扩展对象)
- IBATIS事务处理 - - 博客频道 - CSDN.NET
- echarts雷达图点击事件
- PXE+HTTP+TFTP+Kickstart实现无人值守部署centos6.10
- vue的组件之间传值方法
- 20172309 《Java软件结构与数据结构》实验三报告
- wget 的 使用方法
- 设计标签选择器TitleSwitch
- 2017-2018-3 20155337《信息安全系统设计基础》 pwd指令学习
- 提高JetBrains软件的性能
热门文章
- page.registerstartupscript的用法
- 【PyQt】插入排序算法
- boost诊断工具BOOST_ASSERT、BOOST_VERIFY、BOOST_STATIC_ASSERT
- 认识tornado(三)
- Kotlin——高级篇(五):集合之常用操作符汇总
- (转)Linux-epoll
- CodeForces 666A Reberland Linguistics(DP)
- [刷题]ACM ICPC 2016北京赛站网络赛 D - Pick Your Players
- C# WinForm 只运行一次的MDI子窗体
- Group By 与 Count