MFC程序运行原理

一、首先利用全局应用程序对象theApp启动应用程序。正是产生了这个全局对象,基类CWinApp中的this指针才会指向这个对象。如果没有这个全局对象,程序在编译时不会出错,但是在运行时会出错。
二 、调用全局应用程序对象的构造函数,从而就会先调用基类CWinApp的构造函数。后者完成应用程序的一些初始化工作,并将应用程序对象指针保存起来。
三、进入WinMain函数。在AfxWinMain函数中可以获取子类(对Test程序来说,就是CTestApp类)的指针,利用此指针调用虚函数:InitInstance,根据多态性的原理。实际上调用子类的CTestApp的InitInstance函数。后者完成应用程序的一些初始化工作,包括窗口类的注册、创建、窗口的显示和更新。期间会多次调用CreateEx函数,因为一个单文档MFC应用程序有多个窗口,包括框架窗口、工具条、状态条等。

四、进入消息循环,虽然也设置了默认的窗口过程函数,但是,MFC应用程序实际上是采用消息映射机制来处理各种消息的。当收到WM_QUIT消息时,退出消息循环,程序结束。

猜你喜欢

转载自blog.csdn.net/zhengjian1996/article/details/112916627