程式的啟動,構造theApp對象,調用父類CWinApp的構造函數。、
- 将theApp對象的位址儲存到線程狀态資訊中
- 将theApp對象的位址儲存到子產品狀态資訊中
- 進入WinMain函數,調用AfxWinMain函數
微軟MFC 有兩個全局變量:
AFX_MODULE_STATE 目前程式子產品狀态資訊
AFX_MODULE_THREAD_STATE 目前程式線程狀态,它儲存在目前程式子產品狀态資訊的一個成員中。
- AfxGetThread() 全局函數,擷取theApp線程,
- AfxGetApp() 擷取theApp位址
這兩個函數時全局函數,哪裡都可以調用。
執行流程:
進入入口函數WinMain
擷取應用程式類對象theApp的位址
利用theApp位址調用InitApplication,初始化目前應用程式的資料
利用theApp位址調用InitInStance函數初始化程式,在函數中我們建立視窗并顯示。
利用theAPP位址調用CWinApp的Run函數進行消息循環
如果沒有消息,利用theApp位址調用OnIdle虛函數實作空閑處理
程式退出利用theApp位址調用ExitInstance虛函數實作退出前的善後處理工作。