CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

关于如何限制视图大小的简单问题,解决立即结贴,在线等待

楼主Jacky1206(胖胖,其实我不胖)2004-12-02 10:48:41 在 VC/MFC / 界面 提问

各位:  
          小弟用   CSplitterWnd   切分出了   3   个视图,把窗体分成两列,左边是独立的一个视图,右边再横向分出了   2   个视图。现在的问题是,在运行的时候,用户可以拖动分割条来改变两边视图的大小,我希望是可以改变大小,但是有一个大小的限度,比如,当拖动分割条改变左边视图的宽度时,我希望最小不能小于   300   ,如果小于   300   就固定不能再拖动了。不知道如何写代码,希望大家给予指点,谢谢 问题点数:50、回复次数:6Top

1 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-02 10:51:46 得分 5

处理OnSize消息处理函数,加以限制,MoveWindowTop

2 楼Jacky1206(胖胖,其实我不胖)回复于 2004-12-02 11:20:21 得分 0

首先谢谢楼上的。  
  问题是到底是怎么写?我希望限定的是   Frame   里面某个视图的大小  
  if   (cx   <   800)   {  
          .......???  
  }Top

3 楼EnochShen(小疯子:真的好菜—知耻而后勇!)回复于 2004-12-02 12:16:36 得分 5

OnSize  
  if   (cx   <   800)  
    {  
          cx   =   800;  
  }  
  Top

4 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2004-12-02 12:19:41 得分 0

CSplitterWnd::SetRowInfo   /CSplitterWnd::SetColumnInfoTop

5 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2004-12-02 12:21:08 得分 40

也可派生一个CSplitterWnd的子类,处理消息  
  WM_LBUTTONDOWN,WM_MOUSEMOVE,WM_SETCURSOR,如果不满足你的条件,就回避标准的CSplitterWnd的处理过程。Top

6 楼Jacky1206(胖胖,其实我不胖)回复于 2004-12-02 13:23:17 得分 0

OnSize  
  if   (cx   <   800)  
    {  
          cx   =   800;  
  }  
   
  这种方法是没有用的,我试过了  
   
  if   (cx   <   800)   {  
          MoveWindow(0,   0,   800,   cy);  
  }  
  如果是写在   MainFrame   的   OnSize   里面会造成严重的闪烁,写在视图的   OnSize   里面也没有用  
   
  至于说   CSplitterWnd::SetRowInfo   /CSplitterWnd::SetColumnInfo,好像也不能写在   MainFrame   里面吧,因为我觉得   MainFrame   的   OnSize   方法传入的   cx   和   cy   参数应该不是针对我正在移动分割条的那个视图的   cx   和   cy   吧。如果是写在视图的   OnSize   里面,是否是通过    
  CMainFrame   *pMain   =   (CMainFrame   *)AfxGetApp()   ->   GetMainWnd();  
  pMain   ->m_wndSplitter;  
  来得到   CSplitterWnd   对象呢?我一运行就出错。。。。。。Top

相关问题

  • 怎样获得视图大小?
  • 分割视图里禁止手动改变每个子视图的大小?
  • 请问单文档视图结构中怎样设置初始视图大小?
  • 限制大小写
  • 如何获得某个视图客户区域的大小?
  • 如何改变视图大小——有人愿意帮我吗?
  • 请教大侠怎么动态改变ScrollView视图的大小?
  • 在单文档程序中怎么改变视图的大小
  • 如何在视图中改变通用控件的大小
  • 如何改变视图中字体大小?

关键词

  • 视图
  • 大小
  • csplitterwnd
  • 小于300
  • 问题
  • 谢谢
  • 改变
  • 拖动分割条
  • 不能

得分解答快速导航

  • 帖主:Jacky1206
  • vcleaner
  • EnochShen
  • DentistryDoctor

相关链接

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

广告也精彩

反馈

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