5555,为什么现在一提问题就被砸---但是我还要问:Component出来的顺序为什么是这样的。。(50分)

  • 主题发起人 千中元
  • 开始时间

千中元

Unregistered / Unconfirmed
GUEST, unregistred user!
for i:=0 to ComponentCount-1 do
showmessage(Components.ClassName);
现在放上一个tlable,一个Tedit,一个TmainMenu,为何show出来的次序依次为
Tlable,Tedit,TmainMenu;
(我用 for i:=0 to ComponentCount-1 do
begin
showmessage(Components.ClassName);
showmessage(components.Classname+'is '+inttostr(i));
end;
验证过了的)
 
create component order 决定的
 
同意 autumn。和调节 tab order 类似,这也是可以调节的。
 
这么改顺序,是否在该txxform类中更改控件顺序。
 
因为TMainmenu是非窗口组件(也就是非可视化控件),你可以看一下DFM文件,不管任何时候
窗口控件总是在非可视化组件前创建的。
不过你可以用Form的右键菜单的create order来调整所有非可视化组件的
创建顺序
 
不是tab order
你用“view as Text",就知道这些object是按什么顺序了,
然后自己改写这个顺序也可以。
 
一般都是数据控件优先
 
有没有更简便的方法来改变可视控件的创建顺序?
>>关注
 
不知道这个功能有没有实际意义!
 
dfm文件中对每一控件的代码顺序决定显示顺序

object Button1: TButton
Left = 152
Top = 64
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
end
object Edit1: TEdit
Left = 192
Top = 168
Width = 121
Height = 21
TabOrder = 1
Text = 'Edit1'
end
先显示button,后显示edit
 
直接修改dfm
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
564
import
I
顶部