1. 程式人生 > >MFC單文件框架分析及執行流程(轉)

MFC單文件框架分析及執行流程(轉)

原文轉自 https://blog.csdn.net/u011619422/article/details/40402705

 

首先來分析一下MFC單文件類的結構:

它包括如下幾個類:

CAboutDlg :  對話方塊框類,對應應用程式的“幫助”->“關於”選單,彈出“關於”對話方塊。

CxxxApp: 派生自CWinApp , 為應用程式物件,負責應用程式的初始化和退出的清理工作。

CMainFrame:  派生自CFrameWnd類, 為框架視窗物件,對應應用程式的主視窗。

CxxxView: 派生自檢視類CView , 為檢視物件, 對應應用程式的客戶視窗,用來顯示文件資料。

CxxxDoc: 派生自CDocument文件類,為文件物件,儲存於應用程式相關的資料。在應用中沒有直觀的對應關係。

 

程式的執行過程可以簡單的表示如下:

CWinApp 類建立的例項theApp , 整個程式有且只有一個,一切由它開始,最後以它結束。

Visual c++所產生的程式碼首先通過初始資料段來建立一個全域性變數,以及建立一些MFC內使用的物件,然後指向CWinApp類的建構函式

一旦所有靜態物件的建構函式都執行完畢,執行是艱苦就會呼叫WinMain函式,該函式初始化MFC應用,並呼叫CWinApp的InitInstance函式。

完成了這些工作後,WinMian函式呼叫CWinApp類的Run函式,通常預設為CWinThread::Run() , 用來得到應用程式的訊息迴圈,或者稱為訊息列隊

當應用程式接受到WM_QUIT訊息,就意味著程式終止,這時,MFC就會呼叫CWinApp類的ExitInstance,然後是靜態物件的解構函式,包括CWinApp物件,然後將控制權交還作業系統。

 

以上就是MFC種單文件的執行過程

 

學習很枯燥,以前學習的時候草草的學習完,但是時間久了,知識卻都忘記了,所以不管如何,既然選擇了就認真的學習下去。當某日你在回首的時候,別有一番滋味

 

人生中必須有自己必須要堅持的信念,而我的就是“人生為棋,我願為卒,行動雖慢,誰曾見我退過一步”。