CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

如何切分窗口成四份,左边两个视图,右边两个视图,采用多文档

楼主mousefly2004(++C++)2006-03-25 21:17:59 在 VC/MFC / 界面 提问

如何切分窗口成四份,左边两个视图,右边两个视图,采用多文档 问题点数:50、回复次数:5Top

1 楼vcmute(BCare4 H1Rest Good9!)回复于 2006-03-25 21:53:49 得分 5

Example  
  //   The   following   function   is   created   by   (step   4)   of   the   MFC   AppWizard    
  //   when   you   select   Use   split   window   from   the   Windows   Style   tab   of   the  
  //   Advanced   Options   dialog.  
   
  BOOL   CMainFrame::OnCreateClient(LPCREATESTRUCT   /*lpcs*/,    
          CCreateContext*   pContext)  
  {  
      return   m_wndSplitter.Create(this,  
              2,   2,                     //   TODO:   Adjust   the   number   of   rows,   columns.  
              CSize(10,   10),         //   TODO:   Adjust   the   minimum   pane   size.  
              pContext);  
  }  
   
  Top

2 楼ysc918(白纸人生)回复于 2006-03-25 22:24:43 得分 15

看看MSDN上的CSplitterWnd类,上面有例子可供参考。Top

3 楼mousefly2004(++C++)回复于 2006-03-27 11:22:00 得分 0

我是这么做的  
  BOOL   rtn=m_wndSplitter.CreateStatic(   this,1,2)     ;       //   TODO:   adjust   the   minimum   pane   size  
        CRect   cRect;  
  CWnd*   pWnd   =   GetParentFrame();  
  pWnd->GetClientRect(&cRect);  
   
          m_wndSplitter1.CreateStatic(&m_wndSplitter,2,1,WS_CHILD|WS_VISIBLE,m_wndSplitter.IdFromRowCol(0,   0));  
  rtn   |=   m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CDfrsFileView),  
    CSize(cRect.Width(),300),pContext);  
        rtn   |=   m_wndSplitter1.CreateView(1,0,RUNTIME_CLASS(CDfrsFileSubView),  
    CSize(cRect.Width(),190),pContext);  
   
        rtn   |=   m_wndSplitter0.CreateStatic(   &m_wndSplitter,2,1,WS_CHILD|WS_VISIBLE,   m_wndSplitter.IdFromRowCol(0,   1));  
  rtn   |=   m_wndSplitter0.CreateView(0,0,RUNTIME_CLASS(CDfrsConnectStateView),  
  CSize(100,cRect.Height()/2),pContext);  
   
  rtn   |=   m_wndSplitter0.CreateView(1,0,RUNTIME_CLASS(CDfrsWorkStateView),  
  CSize(200,cRect.Height()/2),pContext);  
   
  RecalcLayout(   );  
  return   rtn;  
  是切成了4块,可是左边的两块开始时是看不到的,必须移动分割条才能看见他们Top

4 楼lixiaosan(小三)回复于 2006-03-27 11:40:23 得分 30

http://www.vckbase.com/document/viewdoc/?id=192  
  http://www.codeproject.com/splitter/splitterwindowtutorial.aspTop

5 楼mousefly2004(++C++)回复于 2006-03-29 14:17:33 得分 0

在分割时设置每一列的宽度,  
      m_wndSplitter.SetColumnInfo(0,cRect.Width()*0.7,0);就可以了。  
  结题,散分,给你们买糖吃去Top

相关问题

  • 视图切分
  • 文档/视图
  • 切分视图的问题
  • 怎样切分视图?
  • 如何切分视图
  • 关于切分视图问题
  • 多文档/视图中激活不同视图的问题
  • 单文档多视图中视图切换的问题
  • 用多文档分割视图
  • 关于文档与视图的问题

关键词

  • 视图
  • runtime
  • ws
  • wndsplitter
  • rtn
  • pcontext
  • crect
  • csize
  • createview
  • createstatic

得分解答快速导航

  • 帖主:mousefly2004
  • vcmute
  • ysc918
  • lixiaosan

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo