代码改变世界

MFC程序的运行机制

2013-01-27 16:18  小汪quant  阅读(188)  评论(0编辑  收藏  举报

初识MFC程序可能最令人困惑的地方就是MFC的程序竟然找不到 main 或者 WinMain 等程序入口函数,通篇都是在进行类的定义,这样的程序是怎么进行的呢?奥秘就是MFC为我们提供了入口函数。

 

下面这段是译自《Programming Windows With MFC》 中的一段简单扼要的说明:

 

在MFC程序的一开始,一个全局的CWinApp 对象会被创建,然后MFC中的AfxWinMain 函数会调用这个CWinApp对象的InitInstance 方法,这个方法中创建了一个CWnd对象,这个对象的构造函数创建了一个可以显示在显示器上的窗口,CWnd对象创建后,InitInstance 方法调用CWnd对象的ShowWindow方法将这个窗口使其可见,然后调用UpdateWindow方法给窗口传递第一个WM_PAINT消息,然后 InitInstance 函数返回,AfxWinMain 函数再调用 CWinApp 的 Run 函数以开始消息循环