Delphi的控件能有VB那样的控件数组么????

chenfeng3000 2003-01-28 05:26:43
Delphi的控件能有VB那样的控件数组么????
再问一句怎样动态生成控件呢,
或是动态生成控件数组呢???
...全文
24 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eastunfail 2003-01-28
  • 打赏
  • 举报
回复
HOHO~~还是习惯所有的控件的同一个事件指向同一个过程~~~然后再在事件中根据Sender来判断。
johnmack 2003-01-28
  • 打赏
  • 举报
回复
cg1120(代码最优化-§新年祝福你,好运伴着你§)
写的很清楚了!
ly_liuyang 2003-01-28
  • 打赏
  • 举报
回复
可以有components[]
componentcount来变通使用
加上As, Is, Tag等就可以达到一样的效果

cg1120 是个很好的例子

复杂的就自己定义一个继承自TList的类,这个最强了
z33 2003-01-28
  • 打赏
  • 举报
回复
可以啊,比如 tedit of array声明就可以
生态生成的话
[动态生成控件]
Var
F:TForm //声明一个TForm类的对象F
B:TButton //声明一个TButton类的对象B
begin
F:=TForm.Create(self); //创建TForm
F.show; //显示出来
B:=TButton.Create(self); //创建
B.Parent:=Form1; //定义B显示在Form1中,Parent:=是指B所在父位置。
//也可以是 B.Parent:=Panel1 ,放到Panel1上。
end;
Billy_Chen28 2003-01-28
  • 打赏
  • 举报
回复
var
e:array of TEdit;
procedure TForm1.FormCreate(Sender: TObject);
var
i,n:integer ;
begin
n:=10;
setlength(e,n);
for i:=0 to n-1 do
begin
e[i]:=TEdit.create(self);
e[i].parent:=self;
e[i].visible:=true;
e[i].left:=10;
e[i].top:=10+30*i;
e[i].width:=50;
e[i].height:=20;
end;

end;

或:
var
// 声明
text : array[0..100] of TEdit;
begin
// 创建( 如果要显示在窗口上,把nil改为父控件名,然后再设置parnet就行了)
text[0] := TEdit.Create(nil);
text[0].Text := 'it is a test';
// .... 同样创建其他的控件,也可用for循环做 ....
end;

5,386

社区成员

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

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