MFC框架各部分指標獲取方式

2021-08-28 15:54:01 字數 1970 閱讀 9410

前人在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框架各部分指標獲取方式

摘自 http www.cnblogs.com duguguiyu archive 2007 06 22 792511.html 前人在csdn總結的,曾經幫助過我,整理總結一下,希望也能幫助一下別人。獲得cmainframe 獲得cchildframe 獲得cdocument 獲得cview af...

MFC框架各部分指標獲取方式

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

MFC框架各部分指標獲取方式

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