1、MFC(Microsoft Foundation Class 微軟基本類庫)
(1)每一個MFC程式有且僅有一個從應用程式類(CWinApp)派生的類,每一個MFC程式執行個體有且僅有一個該派生類的執行個體化對象。
(2)Afx字首的函數代表應用程式架構函數。在MFC中為全局函數,可以在程式的任何地方調用。
WinMain—> AfxWinMain(WINMAIN.CPP裡包括該函數的定義)
AfxGetThread(THRDCORE.CPP)
AfxGetApp(AFXWIN1.INL)
CMainFrame::PreCreateWindow—>CFrameWnd::PreCreateWindow(WINFRM.CPP)
CMainApp派生于CWinThread類
CFrameWnd派生于CWnd類
視窗建立功能是由CWnd類的CreateEx(聲明AFXWin.h,定義WINCORE.CPP)函數實作的。
CFrameWnd類的LoadFrame函數調用CFrameWnd的Create(聲明AFXWin.h,定義WINCORE.CPP)函數,Create函數内部調用CWnd的CreateEx函數
消息循環
CWinThread類Run函數完成
AfxWinMain函數中調用Run函數(定義THRDCODE.CPP)
2、視窗類,視窗類對象,視窗
聯系:c++視窗類對象内部定義一個視窗句柄變量,儲存了與這個c++視窗類對象相關的那 個視窗句柄。
差別:視窗銷毀,對應的視窗類對象銷毀與否關鍵看其生命周期是否結束。
視窗類對象銷毀,與之對應的視窗也銷毀。
3、視類視窗與架構視窗。
架構視窗:菜單欄、标題欄都位于非客戶區
工具欄位于客戶區。顯示的按鈕會占領工具欄的地方。
視類視窗:顯示的按鈕會直接在客戶區,不會占領非客戶區的地方。
本文轉自 韬光星夜 51CTO部落格,原文連結:http://blog.51cto.com/xfqxj/476987,如需轉載請自行聯系原作者