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

有关窗体拆分后,窗体大小显示问题请教(急)

楼主look01(^-^)2006-03-17 13:05:56 在 VC/MFC / 界面 提问

窗体要拆分成3行一列,中间一行再拆成2列。  
  显示结果是调整第3行大小无效,中间的2列只显示一小部分,很奇怪  
  代码如下:    
  BOOL   bSplte   =   m_WndSplitter1.CreateStatic(this,3,1);    
   
  m_WndSplitter1.CreateView(0,0,    
  RUNTIME_CLASS(CTopToolBar),   CSize(0,   CTopToolBar::IcoHight),   pContext);    
  m_WndSplitter1.CreateView(2,0,    
  RUNTIME_CLASS(CBoTomToolBar),   CSize(0,   CBoTomToolBar::IcoHight),   pContext);    
   
  m_WndSplitter2.CreateStatic(&m_WndSplitter1,1,2,WS_CHILD|WS_VISIBLE,    
  m_WndSplitter1.IdFromRowCol(1,   0));    
   
  m_WndSplitter2.CreateView(0,0,    
  RUNTIME_CLASS(CLeftToolBar),   CSize(CLeftToolBar::IcoWigth,   0),   pContext);    
  m_WndSplitter2.CreateView(0,1,    
  RUNTIME_CLASS(CFileListView),   CSize(0,   0),   pContext);    
   
  另外:如果cSize(0,0)的意思是不是根据剩余窗体大小自动调整长宽呢 问题点数:20、回复次数:5Top

1 楼look01(^-^)回复于 2006-03-17 16:19:55 得分 0

不要沉啊Top

2 楼look01(^-^)回复于 2006-03-17 19:57:24 得分 0

哪位大哥遇到这类问题啊Top

3 楼huqiang361(强强)回复于 2006-03-17 23:25:25 得分 10

if(m_wndSplitter1.CreateStatic(this,3,1)==NULL)     //三行一列  
              return   FALSE;  
          //将CSplitWndDemoView连接到0行0列窗格上  
          m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CSplitView),CSize(100,100),   pContext);    
          m_wndSplitter1.CreateView(2,0,RUNTIME_CLASS(CView4),CSize(100,100),pContext);   //将CView4连接到0行2列  
          if(m_wndSplitter2.CreateStatic(&m_wndSplitter1,1,2,WS_CHILD|WS_VISIBLE,   m_wndSplitter1.IdFromRowCol(1,   0))==NULL)    
              return   FALSE;   //将第1行0列再分开1行2列    
          //将CView2类连接到第二个分栏对象的0行0列  
          m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CView2),CSize(400,300),pContext);   //将CView3类连接到第二个分栏对象的0行1列  
          m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CView3),CSize(400,300),pContext);    
   
  不知道这段代码对你有帮助吗?我想一定有。Top

4 楼look01(^-^)回复于 2006-03-18 05:55:27 得分 0

楼上的兄弟我就是这么用的,但是中间2列的大小无论如何调整都只显示一小部分,奇怪Top

5 楼Atomictry(天影)回复于 2006-03-18 16:14:07 得分 10

那篇文章的作者该打屁股!  
  在后面再加上:  
          CRect   rcClient;  
          GetClientRect(&rcClient);  
          m_wndSplitter1.SetRowInfo(0,   rcClient.Height()   -   400,   100);  
          m_wndSplitter1.SetRowInfo(1,   200,   100);  
          m_wndSplitter1.RecalcLayout();Top

相关问题

  • 如何让窗体背景图片随着窗体大小正确的显示
  • 怎样拆分窗体。
  • 显示窗体
  • 窗体显示?
  • 显示窗体
  • 怎样用代码让窗体启动时,显示为固定大小?
  • 我建了一个MDI窗体,然后在MDI窗体中显示子窗体,但子窗体大小总和设计时设定的大小不一样,怎么回事?怎么解决?
  • 请问如何让窗体中的控件根据窗体的大小不同而显示不同的大小和位置????????
  • 窗体固定大小
  • 改变窗体大小

关键词

  • runtime
  • 窗体
  • wndsplitter
  • createview
  • csize
  • pcontext
  • 大小
  • rcclient
  • 显示
  • createstatic

得分解答快速导航

  • 帖主:look01
  • huqiang361
  • Atomictry

相关链接

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

广告也精彩

反馈

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