试着做了一个树状的导航界面,使用了CSplitterWnd类,在界面的左侧列出导航项。现在,准备了若干已经布置好控件的Dialog窗口,想在界面的右侧显示出来,根据点击的导航按钮显示相应的窗口。对单文档模式下的操作不熟悉,一直做对话框的,想各位兄弟帮帮忙,指点一下。谢谢。

解决方案 »

  1.   

    到我的资源里下载一个“单文档多视图切换”的例子,基本上什么都不用改,只要把菜单的点击事件,改成你的listtree事件就OK了
      

  2.   

    http://download.csdn.net/source/871527
      

  3.   

    把所有子对话框的指针都保存在主窗口类中,用ShowWindow控制只显示其中一个,其余隐藏。在左视图类中响应TVN_SELCHANGED消息,通过主窗口类控制子对话框的显示和隐藏。主窗口指针可以用AfxGetMainWnd获取。顺便提一下,这种界面不需要用文档—视图架构,用对话框即可。对话框左边放一个ListCtrl控件,右边创建子对话框,根据需要用ShowWindow控制显示其中的一个。
      

  4.   

    唉 楼上的把思路已经讲的很清楚了哈
    不过还是来顶顶 就给你发一段单文档划窗口的代码吧重载MainFrame类中的OnCreateClient函数if(m_splitterwnd1.CreateStatic(this,2,1)==NULL)      //第一次划分用一个splitter,两行一列
                  return FALSE;
         m_splitterwnd1.CreateView(0,0,RUNTIME_CLASS(CView1),CSize(100,120), pContext); 
      
         if(m_splitterwnd2.CreateStatic(&m_splitterwnd1,1,2,WS_CHILD|WS_VISIBLE, //第二次划分用另一个splitter,一行两列
              m_splitterwnd1.IdFromRowCol(1, 0))==NULL) 
                   return FALSE; 
              m_splitterwnd2.CreateView(0,0,RUNTIME_CLASS(CView2),CSize(250,300),pContext); 
              m_splitterwnd2.CreateView(0,1,RUNTIME_CLASS(CView3),CSize(400,300),pContext); 
                   return TRUE; 
      

  5.   

    一楼大哥,我也是在做这个,帮帮忙给小弟发一份,不胜感激!!
    邮箱:[email protected]