无法访问 CWinAppEx 中的 CChildView

Can't access CChildView in CWinAppEx

本文关键字:中的 CChildView CWinAppEx 访问      更新时间:2023-10-16

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

CChildView 的类型为 CWnd。

到目前为止,我尝试了:

CChildView* view = (CChildView*)m_pActiveWnd;

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

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

强制转换没有帮助,因为主窗口不是 CChildView 类,也不是从 CChildView 类继承的。它是一个 CFrameWnd,它是管理 Doc/View 体系结构中的视图的类。

您可以获取指向类似视图窗口的指针。

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