您的位置:首页 > 编程语言 > C语言/C++

VC++剖析之MFC程序执行流程

2013-10-23 16:39 120 查看
1 每个MFC应用程序都包含如下6个部分:
从CWinApp派生一个新类作为该应用程序的程序类,这个类应该重载InitInstance()函数
将该应用程序类声明为全局变量,CWinApp的构造函数将自动调用InitInstance()函数
从CFrameWnd(或CMDIFrameWnd或CMINIFrameWnd)派生一个类作为屏幕上的主窗口
创建该窗口的InitInstance()函数
创建该窗口的构造函数
创建该窗口的析构函数

2 MFC程序的运行和启动过程,依次执行下面几个步骤,这些步骤在MFC程序运行的时候都是自动完成的,编程被屏蔽在外面:

应用程序对象产生(theApp),配置内存,设定初值。
调用AfxWinMain()函数,执行AfxWinInit()函数,后者又调用AfxInitThread()函数,把消息队列尽量加大到96
AfxWinMain()函数执行InitApplication()函数
AfxWinMain()函数执行InitInstance()函数,它是CWinApp的虚函数,必须重载并修改它
InitInstance()函数创建了一个CMyFrameWnd对象
CFrameWnd构造函数调用Create()函数,产生主窗口,在生成窗口前,Create()函数注册有关窗口类
回到InitInstance()函数中继续执行ShowWindow()函数显示窗口
执行UpdateWindow()函数,发出WM_PAINT消息
回到AfxWinMain()函数,执行Run()函数,进入消息循环

--
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: