1.3.2 MFC如何使用应用程序对象

MFC程序没有main函数,没有WinMain函数,到底是什么启动了程序的运行?

一个MFC提供的源代码中(Winmain.cpp)包含了一个AfxWinMain函数,它在MFC中相当于WinMain。AfxWinMain广泛使用应用程序对象,因此在应用程序对象必须作全局声明的原因。全局变量和对象在任何其它代码执行之前被创建,在AfxWinMain运行之前,应用程序对象必须在内存中存在。

运行的顺序:

  1 AfxWinMain调用AfxWinInit函数初始化主框架

  2 AfxWinMain的函数参数(hInstance、nCmdShow)复制给应用程序对象的成员函数

  3 AfxWinMain调用InitApplication和InitInstance

  4 AfxWinMain调用应用程序对象的Run函数,该函数执行消息循环并开始向应用程序发送消息

  5 消息循环重复执行,直到WM_QUIT跳出循环,调用ExitInstance,返回到AfxWinMain中

  6 执行清理工作,AfxWinMain执行return结束应用程序

最新文章

  1. 基于Bootstrap里面的Button dropdown打造自定义select
  2. 统计文件种类数+获取子shell返回值的其它方法
  3. Spinner
  4. [工作中的设计模式]迭代子模式Iterator
  5. URL中的特殊字符
  6. QT共享库的创建与调用(初级)(附:UI界面不能被改变的其中一个原因)
  7. phpcms v9 首页怎么调取单页内容,描述,标题等
  8. c# 定时执行python脚本
  9. Hadoop MapReduce概念学习系列之mr程序详谈(二十三)
  10. Swift编程语言学习9—— 存储属性和计算属性
  11. .NET技术+25台服务器怎样支撑世界第54大网站
  12. sphinx multi valued filter
  13. 在线批量将gps经纬度坐标转换为百度经纬度坐标
  14. Mybatis in 查询
  15. linux sar命令详解
  16. Daily Scrumming* 2015.12.21(Day 13)
  17. C++ leetcode::ZigZag Conversion
  18. ASP.NET程序发布
  19. [zigbee]zigbee的一些基础
  20. Thinkphp部署

热门文章

  1. http cookie相关
  2. 学习UFT11.5历程(二)
  3. iframe布局
  4. Eclipse右下角一直提示Computing additional info解决办法
  5. ubuntu 编译源码坏境配置
  6. spring-boot 之 使用Admin监控应用
  7. MYSQL 模糊查询
  8. 推荐两本学习linux的经典书籍
  9. 百度app测试服务
  10. Python之路 day3 递归函数