使用分割试图,左边是基于CTreeView,右边基于CFormView
想点击tree的不同节点时,右边的视图出现不同的Form窗体,
现在左边的treeView已经构造好了,就是不知道如何切换右边的form窗体视图
是不是可以动态改变对应这个formview的对话框啊?纯属臆测:)
拜大侠赐教

解决方案 »

  1.   

    可以,发消息给父类的frame,你分割视图是在这儿做的初始化,你可以根据不同的消息参数,对你的formview进行更换,可以的。给你看段代码BOOL CFrm_analyze::ChangeActiveView(int nSelectNum)
    {
         switch(nSelectNum){
    case 1: //缺日数据查询
    {
        m_wndSplitter.DeleteView(0,1);
        if( !m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CVw_ana_nodd)
    , CSize(0,0), &this->m_CreateContext) ){
    m_wndSplitter.DestroyWindow();
    return FALSE;
        }
                 m_wndSplitter.GetPane(0,1);
                 CVw_ana_nodd* pView = (CVw_ana_nodd*)GetRightView();
        pView->OnInitialUpdate();
    }
    break; case 2: //缺月数据查询
    {
        m_wndSplitter.DeleteView(0,1);
        if( !m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CVw_ana_nomd)
    , CSize(0,0), &this->m_CreateContext) ){
    m_wndSplitter.DestroyWindow();
    return FALSE;
        }
                 m_wndSplitter.GetPane(0,1);
        CVw_ana_nomd* pView = (CVw_ana_nomd*)GetRightView();
        pView->OnInitialUpdate();
    }
    break;
        }
        m_wndSplitter.RecalcLayout();
        return TRUE;
    }