2012-09-24 19 views
0

我有一個單文檔MFC應用程序在C++中,我想知道如果我可以從我的CWinAppEx類調用在CChildView中聲明的函數。無法訪問CWinAppEx中的CChildView

CChildView是CWnd類型的。

到目前爲止,我嘗試:

CChildView* view = (CChildView*)m_pActiveWnd; 

而且

CWnd* pWndMain = AfxGetMainWnd(); 
CChildView* view = (CChildView*) pWndMain; 

我是這種類型的架構相對較新的,所以我希望有人可以給我一些建議。

回答

1

由於主窗口不是CChildView類,也不是從它繼承的,所以鑄造不起作用。它是一個CFrameWnd,它是在Doc/View架構中管理視圖的類。

你可以得到一個像這樣的視圖窗口的指針。

CView* pActiveView = ((CFrameWnd*) AfxGetMainWnd())->GetActiveView(); 
+0

感謝您的回覆,但我決定使用另一種方法。 – HansElsen