MFC類的關係

2021-04-15 07:19:37 字數 1898 閱讀 4504

前人在csdn總結的,整理總結一下,希望也能幫助一下別人。

獲得cmainframe

獲得cchildframe

獲得cdocument

獲得cview

afxgetmainwnd()

m_pmainwnd

afxgetmainwnd()->mdigetactive()

afxgetmainwnd()->getactiveframe()

sdi:afxgetmainwnd()->getactiveview()->getdocument()

mdi:afxgetmainwnd()->mdigetactive()->getactiveview()->getdocument()

sdi:afxgetmainwnd()->getactiveview()  

mdi:afxgetmainwnd()->mdigetactive()->getactiveview() 

在cmainframe中

mdigetactive()

getactiveframe()

sdi:getactiveview()->getdocument()  

mdi:mdigetactive()->getactiveview()->getdocument()  

sdi:getactiveview()  

mdi:mdigetactive()->getactiveview() 

在cchildframe中getparentframe() 

getactiveview()->getdocument()  

getactiveview()

在cdocument中afxgetmainwnd()  

afxgetmainwnd()->mdigetactive()

afxgetmainwnd()->getactiveframe()

position   pos   =   getfirstviewposition();getnextview(pos)  

在cview中afxgetmainwnd()  

getparentframe()  

getdocument()

在其他類中afxgetmainwnd()  

afxgetmainwnd()->mdigetactive()

afxgetmainwnd()->getactiveframe() 

sdi:afxgetmainwnd()->getactiveview()->getdocument()

mdi:afxgetmainwnd()->mdigetactive()->getactiveview()->getdocument()

sdi:afxgetmainwnd()->getactiveview()  

mdi:afxgetmainwnd()->mdigetactive()->getactiveview() 

理一理mfc的這幾個類的關係,可以很容易明白上面的這些亂七八糟的邏輯。

mainframe是主框架,也基本可以用全域性函式訪問到。

mainframe下是若干個childframe,childframe中若干個view和document(可能不成對),childframe管理著view,view和document進行互操作。

因此整體框架就出來了,一般除了直接應用的關係都可以通過mainframe-->active childframe-->active view-->document這條線進行訪問,這應該叫什麼來自?萬能方法吧^_^。 

MFC類的關係

前人在csdn總結的,整理總結一下,希望也能幫助一下別人。獲得cmainframe 獲得cchildframe 獲得cdocument 獲得cview afxgetmainwnd m pmainwnd afxgetmainwnd mdigetactive afxgetmainwnd getactiv...

mfc幾個類之間的關係

cmainframe是主視窗框架 cdoc是應用程式資料 文件 主要是用來管理資料,提供儲存和載入資料的功能。有關檔案的讀寫操作在cdoc的serialize函式中進行。cview是應用程式資料顯示 檢視 主要是用來資料顯示,以及給使用者提供對資料的編輯和修改功能。有關資料或圖形的顯示操作在cvie...

MFC類的結構

1.cobject類,mfc庫中絕大部分類的基類,封裝了mfc中的最基本機制。執行時類資訊機制 動態建立機制 序列化機制等。2.ccmdtarget 訊息對映機制最基類 4.cdocment及子類 文件類,負責管理資料 5.cdoctemplate以及子類 文件模板類 csingledoctempl...