Subject:
窗体控件的自动TAB值的Bug
[Print This Page]
Author:
happyprogram
Time:
2004-11-26 12:21
Subject:
窗体控件的自动TAB值的Bug
建一个新窗体,按先后顺序分别放置一个ComboBox、Button、Edit和DateTimePicker,其位置从左到右(DateTimePicker最后放,但放在Button和Edit中间),放置结束后TAB顺序为:ComboBox-Button-Edit-DateTimePicker。
然后选中所有控件,水平中心对齐,再自动设置TAB值,
此时,TAB顺序变为Button-ComboBox-DateTimePicker-Edit
而我希望得到的顺序是ComboBox-Button-DateTimePicker-Edit(水平从左到右)
不知道大家有没有发现这个问题?
[ Last edited by happyprogram on 2004-11-26 at 12:25 ]
Author:
zjy
Time:
2004-11-26 14:08
TabOrder 设置有一些参数可以控制,默认的排序是先垂直后水平,以控件左上角计算,Button-ComboBox-DateTimePicker-Edit这几个控件的高度不同,使用默认的方法排出来的就不好看了,你可以试试先垂直后水平排序。
不过这些参数也都有局限性,要完全智能化的排序,这个算法不太好做,呵呵。
Author:
happyprogram
Time:
2004-11-26 17:03
Subject:
管理员好
我上述的测试是在以下配置下进行的:
排序方式:以垂直方向为主
附加处理:控件分组
其它设置:处理时包含所有子控件,计算位置时根据控件中心来判断。
再者,四个控件中,Button控件的高度是25,其他三个的高度为21,均为默认值。
在上述情况下,自动设置后就不是预期的顺序
然后,我又试了一下,把Button的高度改为21,则自动处理Tab后顺序是正确的。
是否因为在取控件中心坐标时,由于是高度是奇数,而产生了误差?导致认为高度为25的Button的中心位置比高度为21的其它控件的位置要高一些,所以将Button排在了第一个(TAb为0)
编程过程中几乎每个窗口都要用好几次自动设置Tab顺序,希望管理员能够抽时间修改一下这个问题。
Author:
zjy
Time:
2004-11-26 17:16
好的,有空我再好好来改进一下TabOrder排序的算法。
Author:
happyprogram
Time:
2004-11-27 10:48
Subject:
谢谢管理员
专家包越来越完善了,每次看到有新功能加入,都非常高兴!
感谢大家的辛勤劳动!
现在开发的过程中,经常需要对多个dfm文件内容进行搜索替换,不知道能不能在批量文件替换功能中加入对dfm的支持?
Welcome to CnPack Forum (http://bbs.cnpack.org/)
Powered by Discuz! 5.0.0