请问如果有多个控件 Align 相同,怎样在程序中设定其次序啊?

natrium11 2002-02-07 01:04:43
多谢各位!

FUCK DELPHI HELP!!!!居然只说了如何在IDE中设定次序,真TMD垃圾!!!!
...全文
183 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
erp2 2002-04-11
  • 打赏
  • 举报
回复
用tab属性呀。
或者可以定义控件数组。
例如:
procedure classcontrol(myclass:Tobjects;var Fm);
var button:Tbutton;
begin
with myclass as tbutton do
begin
button(1):=myclass;
end;
end;
然后适用一个循环就可以将所有控件负值给组件数组然后程序对这类数组操作是不是很方便......
zws 2002-02-08
  • 打赏
  • 举报
回复
如果是动态设置,那哪个先社哪个就是1,依次。。。
fontain 2002-02-08
  • 打赏
  • 举报
回复
哥们儿,我是说你调整了创建顺序运行时不会给你改变层叠顺序
再试试!!,在代码中调整创建顺序,建议使用dancemaple(枫之舞) 的意见
erp2 2002-02-08
  • 打赏
  • 举报
回复
设定TabOrder
lz_0618 2002-02-08
  • 打赏
  • 举报
回复
我想以1,2,3排列:
Panel1.Align :=alNone;
Panel2.Align :=alNone;
Panel3.Align :=alNone;
//Panel1.Top :=0;
//Panel2.top :=0;
//Panel3.top :=0;
Panel2.Align :=alBottom;
Panel1.Align :=alBottom;
Panel3.Align :=alBottom;
natrium11 2002-02-08
  • 打赏
  • 举报
回复
哎,我自己解决了,怎么给分啊?

原来是Toolbar2000的一个BUG,呵呵,真TMD,一共用了两个第三方,mwEdit也有BUG,而且非常严重(真不知道作者是怎么想的),还好都有原代码,可以改正,呵呵。
natrium11 2002-02-07
  • 打赏
  • 举报
回复
up
cobi 2002-02-07
  • 打赏
  • 举报
回复
用控件的taborder属性设定顺序,使用中用tab键可以切换了
natrium11 2002-02-07
  • 打赏
  • 举报
回复
up
natrium11 2002-02-07
  • 打赏
  • 举报
回复
会有差异啊!不信你把DELPHI的Docking Demo 加个StatusBar, 再试试!!
fontain 2002-02-07
  • 打赏
  • 举报
回复
另外,这个东东在运行时不会和设计时有差异的
fontain 2002-02-07
  • 打赏
  • 举报
回复
1.
button1.Left:=100;
button2.Left:=100;
button3.Left:=100;
button1.top:=10;
button2.top:=40;
button3.top:=70;
2.
button1.TabOrder:=0;
button2.TabOrder:=2;
button3.TabOrder:=1;
BTW:先别说delphi怎么样。仔细查查,你会得到答案的,其实很简单
fontain 2002-02-07
  • 打赏
  • 举报
回复
呵呵,这样啊,和建立顺序有关,谁先建立谁在后面
可以手工写代码建立,或者就用dancemaple(枫之舞) 的方法
natrium11 2002-02-07
  • 打赏
  • 举报
回复
我是说在运行时啊!!在设计时设好了在运行时可能会改变的!!
dancemaple 2002-02-07
  • 打赏
  • 举报
回复
以文本格式打开.dfm文件,调整各控件的先后顺序
natrium11 2002-02-07
  • 打赏
  • 举报
回复
啊?大家是不是误解我的意思了?

我是说比如都是alBottom,哪一个显示的更下方,不一定有TABORDER属性的,比如我要做DOCKING,下面就有Statusbar,dockpanel,tbdock(toolbar2000中的),splitter等控件,但他们老是互换位置。

我试过设TOP,但是不行,用disablealign,enablealign包起来都不行,用以下代码倒是可以(虽然很SB):
a.top:=0;
b.top:=0;
c.top:=0;
d.top:=10000;
则由上到下是c,b,a,d.
但会带来闪烁,效率很低。

各位有没有好方法,谢谢!

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧