MFC的AppWizard可以生成三种类型的应用程序:基于对话框的应用、单文档应用(SDI)和多文档应用(MDI)。
 
一般情况下,采用文档/视结构的应用程序至少应由以下对象组成: 
     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),括号中为其基类。
 

最新文章

  1. mysql 定时任务
  2. Laravel 5.1 文档攻略 —— Eloquent:模型对象序列化
  3. Android应用程序窗口(Activity)的视图对象(View)的创建过程分析
  4. PhpStorm中字体大小的改变方法
  5. 灰色预测模型 c# 算法实现
  6. Jackson 高性能的JSON处理 ObjectMapper
  7. java常见内存溢出(OOM)
  8. makefile debug
  9. Tab页签切换
  10. nginx默认虚拟主机
  11. Extension Objects(扩展对象)
  12. IBATIS事务处理 - - 博客频道 - CSDN.NET
  13. echarts雷达图点击事件
  14. PXE+HTTP+TFTP+Kickstart实现无人值守部署centos6.10
  15. vue的组件之间传值方法
  16. 20172309 《Java软件结构与数据结构》实验三报告
  17. wget 的 使用方法
  18. 设计标签选择器TitleSwitch
  19. 2017-2018-3 20155337《信息安全系统设计基础》 pwd指令学习
  20. 提高JetBrains软件的性能

热门文章

  1. page.registerstartupscript的用法
  2. 【PyQt】插入排序算法
  3. boost诊断工具BOOST_ASSERT、BOOST_VERIFY、BOOST_STATIC_ASSERT
  4. 认识tornado(三)
  5. Kotlin——高级篇(五):集合之常用操作符汇总
  6. (转)Linux-epoll
  7. CodeForces 666A Reberland Linguistics(DP)
  8. [刷题]ACM ICPC 2016北京赛站网络赛 D - Pick Your Players
  9. C# WinForm 只运行一次的MDI子窗体
  10. Group By 与 Count