请问一个非常简单的问题。(20分)

  • 主题发起人 主题发起人 常山赵子龙
  • 开始时间 开始时间

常山赵子龙

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi中能否用控件数组,如果行,请告知方法。
 
所谓很多人说Delphi不支持控件数组,那是错误的说法,
准确一点是Delphi不支持设计期的控件数组,
Delphi支持数组,支持动态数组,支持指针数组,
就是没有规定不支持控件数组,所以Delphi是完全支持控件数组的.
procedure TForm1.Button2Click(Sender: TObject);
var a:Array of Pointer;
i:Integer;
begin
SetLength(a,ComponentCount);
For i:=0 to ComponentCount-1 do
a:=Components;
For i:=0 to High(a) do
begin
if (TObject(a) is TEdit) then
TEdit(a).Text:=IntToStr(i)
else
if TObject(a) is TButton then
TButton(a).Caption:='Button'+IntToStr(i);
end;
SetLength(a,0);
end;
 
你也可以采用TList对象来存放产生的控件实例指针,做到动态增删除控件实例
 
up都对,我就是经常用TStringList来管理控件
 
多人接受答案了。
 
后退
顶部