MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(03)
2014-03-30 14:07
225 查看
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结束应用程序
相关文章推荐
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(01)
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(02)
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(04)
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(05)
- MFC-01-Chapter01:Hello,MFC---1.1 Windows 编程模型
- MFC-01-Chapter01:Hello,MFC---1.2 MFC简介
- [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
- javaSE知识点--01(03Java基础初探,第一个Java程序与数据类型)
- 第一个MFC程序“Hello, World!”(vs2008)
- Struts2基础01:编写第一个HelloStruts2程序
- [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
- 我的第一个程序:hello_world(基于at91sam9g20)
- Go! new Hello World, 我的第一个Go程序
- 第一个Python小程序(Hello World!)
- J2ME中The MIDlet suite was not found.问题--关于第一个HELLO程序
- 20161211C语言基础01_第一个程序
- 一起学MFC(三)第一个MFC程序
- Objective-C学习笔记(三)——用Objective-C编写第一个程序:Hello,World!
- 【C语言】03-第一个C程序代码分析
- [PHP基础][01]我的第一个php程序