MFC单文档框架分析及执行流程(转)

原文转自 https://blog.csdn.net/u011619422/article/details/40402705c++

 

首先来分析一下MFC单文档类的结构:框架

它包括以下几个类:函数

CAboutDlg :  对话框框类,对应应用程序的“帮助”->“关于”菜单,弹出“关于”对话框。学习

CxxxApp: 派生自CWinApp , 为应用程序对象,负责应用程序的初始化和退出的清理工做。spa

CMainFrame:  派生自CFrameWnd类, 为框架窗口对象,对应应用程序的主窗口。操作系统

CxxxView: 派生自视图类CView , 为视图对象, 对应应用程序的客户窗口,用来显示文档数据。.net

CxxxDoc: 派生自CDocument文档类,为文档对象,储存于应用程序相关的数据。在应用中没有直观的对应关系。对象

 

程序的执行过程能够简单的表示以下:blog

CWinApp 类建立的实例theApp , 整个程序有且只有一个,一切由它开始,最后以它结束。文档

Visual c++所产生的代码首先经过初始数据段来建立一个全局变量,以及创建一些MFC内使用的对象,而后指向CWinApp类的构造函数

一旦全部静态对象的构造函数都执行完毕,运行是艰苦就会调用WinMain函数,该函数初始化MFC应用,并调用CWinApp的InitInstance函数。

完成了这些工做后,WinMian函数调用CWinApp类的Run函数,一般默认为CWinThread::Run() , 用来获得应用程序的消息循环,或者称为消息列队

当应用程序接受到WM_QUIT消息,就意味着程序终止,这时,MFC就会调用CWinApp类的ExitInstance,而后是静态对象的析构函数,包括CWinApp对象,而后将控制权交还操做系统。

 

以上就是MFC种单文档的执行过程

 

学习很枯燥,之前学习的时候草草的学习完,可是时间久了,知识却都忘记了,因此无论如何,既然选择了就认真的学习下去。当某日你在回首的时候,别有一番滋味

 

人生中必须有本身必需要坚持的信念,而个人就是“人生为棋,我愿为卒,行动虽慢,谁曾见我退过一步”。

相关文章
相关标签/搜索