在MFC中的执行顺序是这样的,首先Windows调用WinMain
函数,WinMain里面调用AfxWinMain函数,注意你的代码现在来了,AfxWinMain函数调用对应你
程序的APP类(这个类是基于CWinApp的,CWinApp又是基于CWinThread的)的InitInstance函数,如果InitInstance返回TRUE,就调用CWinThread的Run函数,这个函数你可以重载,但是一般不重载。在Run函数里面是Windows的消息循环,就是Win API编程里面的那个while循环以及TranslateMessage和DipatchMessage,当然MFC弄得比较复杂,有一个PumpMessage的机制。当程序收到WM_QUIT消息之后,Run函数返回,紧接着CWinThread::ExitInstance会被调用,如果你重载了ExitInstrance则会调用你的。最后程序结束。如果InitInstance返回FALSE,那么Run函数就不会执行,直接调用ExitInstance,然后程序结束。打开里面的.dsw
文件,或者先打开Visual C++程序,从菜单打开:文件->打开工作区,从打开对话框中选中.dsw文件。
VC++是以工程形式来组织的,一般的小程序如果只有一个.cpp源文件,可以直接打开cpp文件,编译时系统会生成工程,然后再以工程的形式进行编译链接执行,而MFC一般都由多个文件组成,直接打开其中的任何.cpp源文件都不能以工程名义打开,而只是单个文件。
评论列表(0条)