Delphi 里面有像VB 中那样的控件数组吗???(内空)(20分)

  • 主题发起人 主题发起人 aceplus
  • 开始时间 开始时间
Var labArr:array[1..10] of TLable;
 
var
CtrlList: array [0..n] of TControl;
begin
CtrlList[0] := Button1;
CtrlList[1] := CheckBox1;
...
end;
 
TWinControl类中有一个Controls属性,它就是一个控件数组。
 
还可以使用动态数组
 
To All:
当用VB写程序时,第二次创建同一类型控件时会提示是否创建一个控件数组,
Delphi 里呢?是不是 BaKuBaKu 说的那样将之赋给数组?
To wjiachun:
如此定义的控件是否还要实例化(一些控件)?
 
你可以通过设置一组相应控件的TAG属性来实现这一功能。
首先在窗体中放置3个BUTTON控件,然后分别设置这三个控件的TAG属性为1、2、3。
接下来双击任意一个按钮,
在其代码部分输入如下代码:
procedureTForm1.Button1Click(Sender:TObject);
varcap:string;
begin
case TButton(sender).Tag of
1:ShowMessage(′1stButtonPressed′);
2:ShowMessage(′2ndButtonPressed′);
3:ShowMessage(′3rdButtonPressed′);
end;
end;
最后在其他两个按钮的ONCLICK事件中选择已经编好的代码。
这样一来就可以实现以上功能了。
 
对一组控件,按需要设置其Tag属性(作用相等于设置VB中的Index属性)。

选定这一组控件,在Object Inspector的事件页中输入对应的事件响应过程名

(该过程可以不存在),按下回车,编写代码。代码中使用(Sender as 控件类名).Tag来识别不同的控件。
 
点我的名字进去。我问过的,有详细解答
 
多人接受答案了。
 
后退
顶部