我拆分了三个视,然后把一些菜单的命令加到了某个视里。在这个视激活的时候菜单命令执行无误,但在没激活的时候会出错。请问怎么样使命令执行的时候先激活对应的视?

解决方案 »

  1.   

    用下面这样试试:(有后续问题请留言)在某一个视中
    CFrameWnd* pFrameWnd = GetParentFrame();
    CView* pView = pFrameWnd->m_wndSplitterWnd.GetPane(0,0);//比如要取得这个第一个视
    pFrameWnd->SetActiveView(pView);
      

  2.   

    m_wndSplitterWnd这个变量是自定义的还是CFrameWnd中的,提示说error C2039: 'm_wndSplitterWnd' : is not a member of 'CFrameWnd'
      

  3.   

    是自己定义的,看你定义在mainframe中还是childframe中(有后续问题请给我CSDN留言,点击我的名字就行)
      

  4.   

    再用这个试试:CView* pView = AfxGetApp()->m_pMainWnd->m_wndSplitterWnd.GetPane(0,0);
    pFrameWnd->SetActiveView(pView);如果再不行,发份代码过来我来改
      

  5.   

    建议看看MSDN中关于切分窗口的例子