单文本程序中,与一个模式对话框相关联
比如单击文本 然后弹出一模式对话框
在模式对话框中我想访问Cmyview中的一个public变量,该怎么访问啊
1.Cmyview的指针怎么传给模式对话框呢??模式对话框构造函数接受的是CWnd*
2.有朋友说用
  m_pView  = (Cmyview*)(AfxGetApp()->m_pMainWnd)->GetActiveView();
  但是加到程序中报错啊  提示GetActiveView' : is not a member of 'CWnd'那位大哥帮忙解答下啊, 在非模式对话框中可以解决 但是我就是想把这个问题弄明白 十分感谢啊!!

解决方案 »

  1.   

    Cmyview* m_pView = (Cmyview*)((AfxGetApp()->m_pMainWnd)->GetActiveView());或CWnd* pWnd = AfxGetApp()->m_pMainWnd;CView *pView = pWnd->GetActiveView()Cmyview* m_pView = (Cmyview*)pView;
      

  2.   

    1楼的大哥你没看仔细啊
    我使用了你说的方法了 可是提示GetActiveView' : is not a member of 'CWnd' 报错了
      

  3.   

    强制转换成CMainFrame , 在调用getActiveView前。
      

  4.   

    m_pView = (Cmyview*)(((CMainFrame*)(AfxGetApp()->m_pMainWnd))->GetActiveView());
      

  5.   

    我是这样用的: 
    CEditListCtrl::OnLButtonUp{
        CMainFrame *pMain=(CMainFrame*) AfxGetApp()->m_pMainWnd; 
        CChiGramView *pView=( CChiGramView * ) pMain-> GetActiveView(); 
        int status = pView->m_status ;
    }
      

  6.   

    不好意思,确实潦草了。具体说就是先用AfxGetApp()->m_pMainWnd取得主窗体对象指针,但获取的指针是CMainFrame的基类CWnd类的指针,需要强制转换为CMainFrame的指针。CMainFrame* pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;pFrame调用成函数GetActiveView()获取视图指针,但获取的指针是Cmyview的基类CView类的指针,需要强制转换为Cmyview的指针。再试试,代码:CWnd* pWnd = AfxGetApp()->m_pMainWnd;CMainFrame* pFrame = (CMainFrame*)pWnd;CView *pView = pFrame->GetActiveView()Cmyview* pMyView = (Cmyview*)pView;
      

  7.   

    谢谢各位大哥  但是新问题出现了
    总是提示我的C..View类 use of undefined type
    加入..View.h  就报哪些 
    missing ';' before '*'
    missing storage-class or type specifiers
    这样的错误了我迷茫啊
      

  8.   

    问题解决了。
    原来还要+ Doc.h我谢你们啊!