Win32 與MFC

Win32:

         Win32函數式編程,窗口體系,消息統一傳入反應函數處理

 

 

MFC:

        基於WIN32 API封裝的框架類庫集合, Afx是代號,

        CWinThead  有活動窗口和 主窗口,CWnd * m_pMainWnd

                                                               CWnd * m_pActiveWnd

        每個CWnd的子類 CFrameWnd又有ActiveView 窗口中(上)可以有多個Cwnd(View 窗口(CView Ctoolbar)

mfc類圖:

MFC窗口及線程系統:

      線程本線程中Afx有效,

      窗口採有父子類容器關係

     一線程 ->多窗口樹- >窗口管理消息,窗口樹有一定順序進行消息傳遞單一處理原則(一個消息只有一個處理函數響應。

 

 

通過分析MFC的源代碼,我們可以得到WM_COMMAND的消息響應順序如下:

多文檔框架中,有打開的文檔時:視圖 > 文檔 > 子框架窗口 > 應用程序 >主框架窗口

多文檔框架在沒有打開文檔時,應用程序和主框架窗口的順序相反:主框架窗口 > 應用程序

 

在單文檔框架應用程序中,因爲沒有子框架窗口,所以順序應該是:視圖 > 文檔 >主框架窗口> 應用程序。無論有沒有打開文檔,主框架窗口都比應用程序類更優先。

 總結:

        MFC是win32 api的類化封裝,帶自己的MFC窗口消息機制和父子窗口機制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章