首页 > 代码库 > MFC: 孙鑫教程3笔记

MFC: 孙鑫教程3笔记

CTestApp如何调用WinMain函数:

先调用CTestApp theApp;

再调用CTestApp constructor

再调用CTestApp的基类CWinApp的constructor (appcore.cpp, 地址C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\atlmfc\src\mfc)

CWinApp constructor调用了appmodul.cpp里的_tWinMain函数,这里太复杂,看不出来

_tWinMain函数调用了winmain.cpp里的AfxWinMain函数(主要的函数)

AfxWinMain会调用pThread->InitInstance(),该函数为虚函数,会调用test.cpp里的CTestApp::InitInstance()函数

该函数会调用wincore.cpp里的AfxEndDeferRegisterClass函数

MainFrm.cpp里的CMainFrame::PreCreateWindow函数会调用winfrm.cpp里的CFrameWnd::PreCreateWindow函数

这个函数里的AfxDeferRegisterClass函数就是AfxEndDeferRegisterClass函数

winfrm.cpp还会调用CFrameWnd::Create函数,该函数里面调用了CreateEx函数(wincore.cpp里)

CreateEx对窗口的参数进行赋值

CWinThread::Run函数(thrdcore.cpp)里完成循环调度

 

这堂课讲了MFC的生成机制,函数,类跳来跳去比较乱

 

MFC: 孙鑫教程3笔记