MFC 内部组织结构(单文档)
工程从一个全局变量theApp初始化开始
调用构造函数CXXApp();//(派生于CWinApp());//关于CWinApp的文件可百度查找
调用父(基)类构造函数CWinApp();//(有一个缺省形式参数=NULL)
在CWinApp()中
1. 将当前线程指向本程序//pThreadState->m_pCurrentWinThread = this;
2. 为CMyApp分配空间
3. 其他初始化工作
完成全局变量的初始化后,程序自动调用WinMain() //只要你包含了stdafx
1.在WinMain()中得到该App的指针// 利用CWinApp *pApp=AfxGetApp();多态可以实现指向当前App
2.在WinMain()中初始化窗口//调用 CWinApp::InitApplication(),CWinThread::InitInstance();//在InitInstance中实现调用 app的框架,文档,视图(具体没搞清楚).
3.进入WinMain()的消息循环 //其实是通过CWinThread::Run实现
退出程序,调用析构函数,销毁窗口,退出线程等操作
以下是自己加断点调试简单单文档MFC的函数调用流程图
// MFC中全局函数都是以afx开头 , 例如afxWinMain();包含在《stdafx.h》中A是applicationg ,F是frame
以上仅是个人浅显见解,如有错误,希望高手指出