我用了资源管理器类型的单文档,就是两个视图
默认活动视图是左侧的,我现在要激活右侧视图怎么做?通过代码如何实现。激活右侧视图就相当于用鼠标点一下右视图的效果

解决方案 »

  1.   

    如果你要拿到你要激活的VIEW的指针(不要告诉我你得不到啊!)((CMainFrame *)AfxGetApp()->m_pMainWnd)->MDIActivate(VIEW指针->GetParentFrame());OK!
      

  2.   

    ((CMainFrame *)AfxGetApp()->m_pMainWnd)->m_wndSplitter.GetPane (0,1)->SetFocus();
      

  3.   

    ((CMainFrame *)AfxGetApp()->m_pMainWnd)->m_wndSplitter.GetPane (0,1)->SetFocus();
      

  4.   

    如何得到当前视图? 最佳方法是将视图当作一个参数来传递。如果不能这样做,但你确信它是当前激活文档和当前激活视图的话,你也可以得到该视图。具体细节见Visual C++文章Q108587《Get Current CDocument or CView from Anywhere》。 
    简单说来,用:
          ((CFrameWnd*) AfxGetApp()->m_pMainWnd))->GetActiveDocument()
    和:      ((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView()
    来得到文档和视图。一个好的方法是将它们封装在你的CMyDoc和CMyView类的静态函数中,并且核对它们是否属于正确的RUNTIME_CLASS。然而,假如这个视图不是当前激活视图或者你在运行OLE本地激活,这样将不成功。
      

  5.   

    已经解决了,用的是SetActiveView,分还是要给的。谢谢各位