首页 > 代码库 > 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笔记