MFC框架程序剖析(2)
2015-10-12 19:47
302 查看
如果你创建过Win32应用程序,有一条明确的主线:首先进入WinMain函数,然后设计窗口类,注册窗口类,产生窗口,注册,显示,更新窗口,最后进入消息循环,将消息路由到窗口过程函数去处理。
那MFC呢?还是假设我们创建了一个名为TEST的单文档工程,当我们运行这个工程时:
1.首先会利用全局应用程序对象theApp启动应用程序,也就是我们的CTESTAPP。
2.调用其构造函数(用来初始化),从而调用基类CWinAPP的构造函数,完成应用程序的后面一些初始化工作。
3.进入WinMain函数,(WinMain函数实际上是调用AfxWinMain去完成它的功能的),在AfxWinMain函数中获得CTESTApp的指针,调用虚函数InitInstance,完成窗口类的注册,创建,窗口显示和更新。同时,期间会多次调用CreatEx函数,因为一个单文档MFC应用程序有多个窗口。
4.最后进入消息循环。
总结:大体过程是这样,整个流程下来其实调用了函数,名字很长也挺复杂的~就不列出来了。
那MFC呢?还是假设我们创建了一个名为TEST的单文档工程,当我们运行这个工程时:
1.首先会利用全局应用程序对象theApp启动应用程序,也就是我们的CTESTAPP。
2.调用其构造函数(用来初始化),从而调用基类CWinAPP的构造函数,完成应用程序的后面一些初始化工作。
3.进入WinMain函数,(WinMain函数实际上是调用AfxWinMain去完成它的功能的),在AfxWinMain函数中获得CTESTApp的指针,调用虚函数InitInstance,完成窗口类的注册,创建,窗口显示和更新。同时,期间会多次调用CreatEx函数,因为一个单文档MFC应用程序有多个窗口。
4.最后进入消息循环。
总结:大体过程是这样,整个流程下来其实调用了函数,名字很长也挺复杂的~就不列出来了。
相关文章推荐
- 边界值_测试基础
- MATLAB数字图像处理(一)图像的基本操作
- iOS开发——高级篇——iPad开发、iPad开发中的modal
- Esper学习之八:EPL语法(四)
- Java基础知识强化之网络编程笔记14:TCP之多个客户端上传到一个服务器的思考(多线程改进)
- 在64位windows下使用debug汇编编程
- 在sublime中配置gcc/g++环境
- JNI-Test
- Linux 使用信号分别在两个进程中打印AAA和BBB
- 【noip2013】花匠 DP||贪心
- Cocos2d-x示例:单点触摸事件
- Esper学习之七:EPL语法(三)
- 堆栈—冲刺十三模拟赛 外星密码
- f(x)%(p^a) (p是素数) 求解
- connection refused to "localhost" with paramiko
- exynos cpu 调频 温度 ondemand
- Android-ViewPagerIndicator
- f(x)%(p^a) (p是素数) 求解
- Esper学习之六:EPL语法(二)
- having和where的性能比较