VS2008的资源编辑器的“纵向匀空”,空隙大小由什么来决定?

screen12 2014-05-07 09:37:47
比如我选中几个控件,然后选择“纵向匀空”,那么这些控件之间的空隙大小由什么来决定?

是由最先选定的两个控件的空隙决定?还是最后选定的两个控件的空隙决定?还是由第一个和最后一个控件之间的空间大小然后平均分配空隙?
...全文
169 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
screen12 2014-05-07
  • 打赏
  • 举报
回复
当然,在“匀空”之间,必须先使它们高度相同,因为需要匀空的几个控件都是相同类型的,所以必须先使它们高度相同,再匀空,否则先匀空,再使其高度相同,前面的工作白费了。
screen12 2014-05-07
  • 打赏
  • 举报
回复
引用 5 楼 china_119 的回复:
按下ctrl多选控件。选中界面编辑器上的多个控件。设同样宽高时是以最后被选中的那个控件为基准宽高。设均匀纵横间隔时是以所有被选中的控件最大(纵或横)坐标和最小(纵或横)坐标值得到排序空间,然后再计算减去控件本身的(纵或横)大小。剩余的大小就是所有的空白间隔区域大小了,再除掉你选中的控间个数(-1,因为最大和最小数是与控件边(上或下)相连的) 呵呵。我都不知道我在说什么了。
说得很好啊,很清楚很准确。就是最后我加一点:可能是这样的:就是不能整除的时候,比如所有空隙总和为8像素,而控件有6个,这样控件之间的间隔有5个,8除以5,不能整除,结果得1,于是相邻控件之间间隔为1象素,于是最后的控件的位置就要被向上移动3个象素。我猜想是这样的,不知对不对。
china_119 2014-05-07
  • 打赏
  • 举报
回复
按下ctrl多选控件。选中界面编辑器上的多个控件。设同样宽高时是以最后被选中的那个控件为基准宽高。设均匀纵横间隔时是以所有被选中的控件最大(纵或横)坐标和最小(纵或横)坐标值得到排序空间,然后再计算减去控件本身的(纵或横)大小。剩余的大小就是所有的空白间隔区域大小了,再除掉你选中的控间个数(-1,因为最大和最小数是与控件边(上或下)相连的) 呵呵。我都不知道我在说什么了。
worldy 2014-05-07
  • 打赏
  • 举报
回复
引用 3 楼 screen12 的回复:
可也未必尽然。我做了一下试验,发现有的时候,匀空以后,最上面的控件不动,最下面的控件有时候却纵向移动一点点。我猜想可能是总的空隙高度,除以所有的空隙数,不好整除。但既然要匀空了,每两个相邻控件之间的间隙要严格相等。因此只有调整最下面的控件的位置以适应这一点。
大概就是这样吧,反正也不是什么原则性的问题
screen12 2014-05-07
  • 打赏
  • 举报
回复
可也未必尽然。我做了一下试验,发现有的时候,匀空以后,最上面的控件不动,最下面的控件有时候却纵向移动一点点。我猜想可能是总的空隙高度,除以所有的空隙数,不好整除。但既然要匀空了,每两个相邻控件之间的间隙要严格相等。因此只有调整最下面的控件的位置以适应这一点。
screen12 2014-05-07
  • 打赏
  • 举报
回复
引用 1 楼 worldy 的回复:
应该是选定的控件当前占领的空间范围均匀分配
我懂了,应该就是选定的所有控件中,找出最上端的坐标,再找出最下端的坐标,拿这个当总高度,然后减去所有控件的高度之和,得到总空隙高度,然后把这些高度平均分配到所有控件之间。然后调整这些控件的纵坐标,然后横坐标以及控件本身的大小不变。
worldy 2014-05-07
  • 打赏
  • 举报
回复
应该是选定的控件当前占领的空间范围均匀分配
赵4老师 2014-05-07
  • 打赏
  • 举报
回复
推荐使用ZoomIt软件辅助亲自数数控件之间的像素数。 http://technet.microsoft.com/zh-cn/sysinternals/bb897434

15,977

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧