一、MFC初始化过程
1、构造全局对象CWinApp
2、WinMain中通过AfxGetApp()得到指向该全局对象的指针pApp
(CWinApp* pApp = AfxGetApp();)
3、调用pApp->InitApplication()
4、调用pApp->InitInstance() 在InitInstance中注册、显示窗口
5、调用run()函数开始消息循环
其中,CWinApp中有一个成员变量m_pMainWnd,在InitInstance中会new一个CWnd类给这个指针,然后会register并Create这个窗口。在Create中会先调用preCreateWindow函数来根据客户需求设置窗口参数。
再细节一点,在InitInstance中先调用AfxEndDeferRegisterClass注册窗口,然后再调用preCreateWindow。根据孙鑫的视频所讲,一般的顺序应是在preCreateWindow里注册窗口,但是MFC为了一些需要先注册的窗口再调用preCreateWindow。当然这是不影响结果的。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !