天天看点

新建MFC工程分析

1:CTestApp theApp:产生全局对象启动应用程序 基类中this指针指向这个全局变量

2:CTestApp::CTestApp:利用构造函数产生全局变量,调用子类构造函数时,首先构造父类,于是CWinApp的构造函数被调用,CWinApp构造函数中完成了应用程序初始化的一些工作同时将子类的指针保存起来,保存起来之后进入_tWinMain函数。

3:AfxWinMain:在这个函数中获取子类的指针,利用子类的指针,去调用一个虚拟的函数。根据多态性的原理,相应的就会调用子类里的函数,就是InitInstance。

4:CTestApp::InitInstance:完成应用程序初始化的工作:窗口类的注册,窗口的创建,显示,更新,等等。

5:消息循环:PunmMessage:表面上看是交给了缺省的消息处理,实际上是MFC做了转换采用消息映射的方式交给消息映射函数处理。

View类窗口是覆盖在框架类窗口之上的。

类:

1:CTestApp:应用程序对象,产生的是应用程序,在MFC应用程序中,有且只能有一个应用对象。

2:CMainFrame/CTestView:表示的都是窗口类,分别表示一个窗口

3:CTestDoc:从CDocument派生出来的文档类,作用是在MFC中VC++输入的时候有一个文档和视类,将数据本身和显示分开,数据的存储加载都有Doc类来完成,数据的显示修改都由View来完成从而将数据的显示,处理分开。

   这些类在InitInstance中被结合调用。

4:CAboutDlg:窗口类,显示帮助窗口。