CnPack Forum


 
Subject: 窗体控件的自动TAB值的Bug
happyprogram
新警察
Rank: 1



UID 582
Digest Posts 0
Credits 5
Posts 5
点点分 5
Reading Access 10
Registered 2004-11-26
Status Offline
Post at 2004-11-26 12:21  Profile | Blog | P.M. 
窗体控件的自动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 ]
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2004-11-26 14:08  Profile | Site | Blog | P.M. 
TabOrder 设置有一些参数可以控制,默认的排序是先垂直后水平,以控件左上角计算,Button-ComboBox-DateTimePicker-Edit这几个控件的高度不同,使用默认的方法排出来的就不好看了,你可以试试先垂直后水平排序。

不过这些参数也都有局限性,要完全智能化的排序,这个算法不太好做,呵呵。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
happyprogram
新警察
Rank: 1



UID 582
Digest Posts 0
Credits 5
Posts 5
点点分 5
Reading Access 10
Registered 2004-11-26
Status Offline
Post at 2004-11-26 17:03  Profile | Blog | P.M. 
管理员好

我上述的测试是在以下配置下进行的:

排序方式:以垂直方向为主
附加处理:控件分组
其它设置:处理时包含所有子控件,计算位置时根据控件中心来判断。

再者,四个控件中,Button控件的高度是25,其他三个的高度为21,均为默认值。

在上述情况下,自动设置后就不是预期的顺序

然后,我又试了一下,把Button的高度改为21,则自动处理Tab后顺序是正确的。

是否因为在取控件中心坐标时,由于是高度是奇数,而产生了误差?导致认为高度为25的Button的中心位置比高度为21的其它控件的位置要高一些,所以将Button排在了第一个(TAb为0)

编程过程中几乎每个窗口都要用好几次自动设置Tab顺序,希望管理员能够抽时间修改一下这个问题。
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2004-11-26 17:16  Profile | Site | Blog | P.M. 
好的,有空我再好好来改进一下TabOrder排序的算法。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
happyprogram
新警察
Rank: 1



UID 582
Digest Posts 0
Credits 5
Posts 5
点点分 5
Reading Access 10
Registered 2004-11-26
Status Offline
Post at 2004-11-27 10:48  Profile | Blog | P.M. 
谢谢管理员

专家包越来越完善了,每次看到有新功能加入,都非常高兴!

感谢大家的辛勤劳动!

现在开发的过程中,经常需要对多个dfm文件内容进行搜索替换,不知道能不能在批量文件替换功能中加入对dfm的支持?
Top
 




All times are GMT++8, the time now is 2024-5-30 02:48

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.006651 second(s), 8 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP