天天看點

建立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:視窗類,顯示幫助視窗。