我在使用Splitter控件的时候发现,有时候会拖不动。比如说,我现在窗体上有两个TPanel,中间放一Splitter控件,程序运行时,我可以通过拖动Splitter控件动态改变两个TPanel的大小,可是我发现当把Splitter拖动到最左边时,也就是左边的Panel完全看不见时,有时候Splitter却拖不回来了,特别是右面的Tpanel上有Dbgrid时,如果在里面编辑了数据,Splitter几乎没有一次拖回来过!不知这是Splitter这个控件的Bug还是我的Splitter设定有问题,有谁能解决吗?
我发现Delphi的SQL Explorer也有这个问题,只要你编辑了右面的Dbgrid,如果此时Splitter也在最左边,一定就再也拖不动了。
Panel1,Splitter的Align设为alLeft,Panel2的Align设为alClient.
设一下最小值当拖到时不让他拖就行了
if newSize < 30 then accept := False;
if newsize > self.Width-50 then accept := False;
to yczyk(小周)
不会吧,你试试SQL Explorer先打开某个Table节点,然后拖动Splitter到最左边,让左边的树菜单完全隐藏,然后随便改动右面Dbgrid中的一个数据,你就会发现Splitter没反应了,不论是Delphi5或Delphi6都有这个问题耶^_^。