你的MyView.h中是否有#include "MainFrm.h"?如果有,再将MyView.h包含在MainFrmae.cpp中会造成编译出错。
可以在MainFrame中发送自定义消息给MyView,MyView接收到消息后调用自身的函数

解决方案 »

  1.   

    在MyView.h的文件中,在声明CMyView类之前加上MyDoc.h,就可以了!这个问题我碰到过!
      

  2.   

    maptrix老兄,然后呢,怎调用函数呢,难道还要生成CMyView类的实例吗?
      

  3.   

    应该不用实例了,GetActiveView应该可以的。
      

  4.   

    //第一步:
    CMDIFrameWnd *pFrame = (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;//第二步:
    CMDIChildWnd *pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();
    // 或者 CMDIChildWnd *pChild = pFrame->MDIGetActive();//第三步:
    CMyView *pView = (CMyView *) pChild->GetActiveView();
    //完毕说明:
    MDI环境下CMainFrame与SDI的不同,它不与视关联,所以要先取得CMDIFrameWnd再取得CMDIChildWnd然后才能取视。(我以类名代替对象指针,请不要误解)
      

  5.   

    CMyView *m_View???你这是在主框架的类里定义的?我的老天,你去维护这个视成员累不累?又有什么意义?你本可以用上述方法随时得到当前处于激活状态的视指针。