SDI类型
用CSplitterWnd切成了左右两个
新构造了两个View类,左边的View为CMyLeftView,右边的View是CMyRightView,均由CView继承
现在我在程序的CMyDoc中加入了成员变量 CPoint pt;
现在我在程序的CMainFrame中处理菜单的响应中来改变CMyDoc中的pt值,然后在左边的CMyLeftView画出来现在的问题是 
1: 怎么从CMainFrame中得到CMyDoc的指针,从而可以改变pt的值
2: 怎么从CMainFrame中得到CMyLeftView的指针,从而可以根据pt的值在CMyLeftView上画出来请大家帮帮忙

解决方案 »

  1.   

    还有一个问题就是在CMyLeftView中怎么得到CMyDoc中的数据
      

  2.   

    getpanel(..)可以分别得到每个视图指针
    (CMyDoc *)getdocument();
      

  3.   

    在CMainFrame中可以调用GetActiveDocument得到文档的指针
    要想从CMyLeftView得到CMyDoc的指针,就要把CMyLeftView和CMyDoc建立关联,并且在CMyLeftView中重载GetDocument()函数
    CMyDoc* CMyLeftView::GetDocument() // non-debug version is inline
    {
    ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
    return (CMyDoc*)m_pDocument;
    }
      

  4.   

    CSplitterWnd m_split;
    CMyLeftView *p=(CMyLeftView *)m_split.getpanel(0,0)->xxxx