D2006中的GridPanel貌似有个Bug,知道的兄弟乱入,给小生一点思路。(200分)

  • 主题发起人 主题发起人 完美动物
  • 开始时间 开始时间

完美动物

Unregistered / Unconfirmed
GUEST, unregistred user!
要解决一个界面大小变化时,控件相对位置也变化的问题。
目前的情况是这样:
各个From都从一个基类的From继承过来的,而这个基类的From里面使用的是GridPanel。
子类里面很多地方已经用到这个GridPanel,所以换控件已经不太可能了。
这个东西貌似有个Bug,就是在界面刚调出来(没有任何操作),直接点最大化时,GridPanel上的控件位置没有改变,所以就多了很多空白的位置。(老大说,这种效果太不专业)
如果界面调出来后,随便拖动一下,再最大化,就没有这个问题。
下午自己拖控件做了下,没有用这个GridPanel,就用最基本的Panel,也能实现这个功能,只是麻烦点。无论怎么操作,都没有上述问题。
现在不能换控件,那个兄弟知道这种情况的,能否给点思路,只要能解决,改VCL的代码都没有问题。
老规矩,说话的都有分,分不够再加。
各位请汹涌发言。
 
在FormActive事件中加句FormX.Align:=alTop之类的应能解决
 
理论上这样做应该可以的,但实际却不行。
我用的这个基类是从TForm继承过来的。
里面有很多处理。都是以前的人写的,也没有详细的文档。
我重新建个Form,不继承,直接加GridPanel。 一切都正常。
所以,问题应该出在使用的基类里面。
 
基类的代码太多,也不方便贴出来。
现在的情况是,界面显示后,直接点最大化,里面的控件没有变化。空很多位置出来。
只要拖动一下,或者先最小化。马上就正常了。控件自动填充。
谁知道怎样会引起这种情况?
 
你让界面一开始就最大化显示出来看看。我估计你要跟踪基类的代码,看看哪里没有处理好
 
还是没有解决
下个星期就结贴放分

郁闷
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
911
SUNSTONE的Delphi笔记
S
后退
顶部