无法访问CWinAppEx中的CChildView

时间:2012-09-24 22:02:29

标签: c++ mfc

我在C ++中有一个单文档MFC应用程序,我想知道我是否可以从CWinAppEx类调用CChildView中声明的函数。

CChildView的类型为CWnd。

到目前为止,我试过了:

CChildView* view = (CChildView*)m_pActiveWnd;

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

我在这种类型的架构中相对较新,所以我希望有人可以给我一些建议。

1 个答案:

答案 0 :(得分:1)

Casting没有帮助,因为主窗口不是CChildView类,也不是从一个继承。它是一个CFrameWnd,它是在Doc / View Architecture中管理视图的类。

您可以获得指向这样的视图窗口的指针。

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