vs2010 vc++树用CViewTree在左边   右边是4个拆分后的窗口 左右已经关联  点击左边 右边不显示,最小化后在最大化后就有了  我用刷新不好使  哪位大佬知道怎么做  (VC++新手做项目)

解决方案 »

  1.   

    你这个应该就是更新的问题。
    你点击左边树形控件之后改变右边的值了吗?
    还有就是你调用 showwindow(sw_show);//手动显示对话框看一下!!
      

  2.   

    你这个showwindow是放哪里的,我不是用对话框 我关联的是3个视图和一个文本,值肯定改变了,我3个视图里都有showwindow;
      

  3.   

    最小化一次东西就都出来了为什么啊?那谁知道 最小化用的是什么刷新啊 我在mfc里怎么没找到
      

  4.   

    只有最小化 能刷新出来  我到处加Invialidate
      

  5.   

    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    {   CRect rt;

    BOOL ret=m_wndSplitter.CreateStatic(this,2,2);//将原窗口拆分为2行2列,4个窗口
        if(!ret)
    {
    TRACE("SplitCreate Failed...\n");
    return ret;
    }

    GetClientRect(&rt);
    CSize czPane(rt.Width()/2, rt.Height()/4);
    pContext->m_pCurrentFrame=this;
    ret=m_wndSplitter.CreateView(
    0,0,
    RUNTIME_CLASS(CLanView),
    CSize(600,100),
    pContext);
    if(!ret)
    {
    TRACE("SplitCreateView Failed(1)...\n");
    return ret;
    }
    //创建第一个窗口,窗口位于原窗口的第0行,第0列。窗口类型为:CListView——列表窗体
    pContext->m_pCurrentFrame=this;
    ret=m_wndSplitter.CreateView(
    0,1,
    RUNTIME_CLASS(CLanView2),
    CSize(600,100),
    pContext);
    if(!ret)
    {
    TRACE("SplitCreateView Failed(1)...\n");
    return ret;
    }
    //创建第二个窗口,窗口位于原窗口的第0行,第1列。窗口类型为:CView——视图窗体 pContext->m_pCurrentFrame=this;
    Ccor4App *app= (Ccor4App *)AfxGetApp();


    ret=m_wndSplitter.CreateView(
    1,0,
    RUNTIME_CLASS(CLanView3),
    czPane,
    pContext);

    /*else if(app->CLV3==1)
    {
    ret=m_wndSplitter.CreateView(
    1,0,
    RUNTIME_CLASS(C301),
    czPane,
    pContext);
    }*/
    if(!ret)
    {
    TRACE("SplitCreateView Failed(1)...\n");
    return ret;
    }
    //创建第三个窗口,窗口位于原窗口的第1行,第0列。窗口类型为:CTreeView——树形窗体
    pContext->m_pCurrentFrame=this;
    ret=m_wndSplitter.CreateView(
    1,1,
    RUNTIME_CLASS(CLanView4),
    czPane,
    pContext); /*else if(mmm==1)
    {
    pContext->m_pCurrentFrame=this;
    ret=m_wndSplitter.CreateView(
    1,1,
    RUNTIME_CLASS(CLanView3),
    czPane,
    pContext);
    }*/
    if(!ret)
    {
    TRACE("SplitCreateView Failed(1)...\n");
    return ret;
    }
    //创建第四个窗口,窗口位于原窗口的第1行,第1列。窗口类型为:CFormView——窗体视图

    //初始化窗口
    m_wndSplitter.RecalcLayout();
    m_wndSplitter.SetActivePane(0,0);
    return ret;
    //return CFrameWndEx::OnCreateClient(lpcs, pContext);
    }
      

  6.   

    m_wndSplitter.RecalcLayout(); 
    RecalcLayout();