以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  控件排序  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4659)

--  作者:qtcks
--  发布时间:2009/10/17 22:37:00
--  控件排序

如何将若干个控件在面板中分布,达到黄金分割0.618168


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名.jpg
图片点击可在新窗口打开查看
深灰色为控件。
浅灰色为面板
--  作者:程兴刚
--  发布时间:2009/10/17 22:55:00
--  
发文件自然能解决!
--  作者:qtcks
--  发布时间:2009/10/17 23:02:00
--  

主要是求算法。


--  作者:程兴刚
--  发布时间:2009/10/17 23:09:00
--  
算法很简单,主要是代码,可以一键排列所有按钮

右边一列控件left属性等于0.618168×面板宽度
左边一列控件left属性等于面板宽度-0.618168×面板宽度-控件宽度
面板不管是宽大于高还是高大于宽:最小边比最大边=0.618168
至于控件上下间距和控件宽度、高度不明白您有什么要求!

--  作者:程兴刚
--  发布时间:2009/10/17 23:10:00
--  
看您的面板竖向好像求等距即可!
--  作者:qtcks
--  发布时间:2009/10/17 23:13:00
--  

嘿嘿,嗯,左右下等距
上边距=下边距*1.618168


--  作者:qtcks
--  发布时间:2009/10/17 23:14:00
--  
图片点击可在新窗口打开查看如果能根据画板的大小,在自动设定控件大小,就完美了。

--  作者:qtcks
--  发布时间:2009/10/17 23:18:00
--  
已知画板大小,画板内控件数量,分布N列,最左、右、下边距相等,上边距=下边距*1.618168,
控件内间距,上=下=左=右=最外边距*0.618168
求控件高、宽值
能吗?
[此贴子已经被作者于2009-10-17 23:19:08编辑过]

--  作者:程兴刚
--  发布时间:2009/10/17 23:33:00
--  

好像能


--  作者:程兴刚
--  发布时间:2009/10/17 23:45:00
--  

就以您的两列控件为例:
面板宽度*0.618168*2-面板宽度=中间宽度
中间宽度/0.618168=两边和下边宽度
下边宽度×1.618168=上边宽度
(面板宽度-左宽度×2-中间宽度)/2=控件宽度
控件竖向间距=0.618168×两边或下边宽度
控件高度=(面板高度-控件竖向间距×(控件数-1)-上边距-下边距)/控件数

还有哪里算不出来?

关键是第一步,需要根据控件列数确定!!