如何在同一个FORM下动态生成多个控件?

zywuhao 2006-07-10 05:06:47
如何在同一个FORM下动态生成多个label控件。而控件个数是根据我的需要来确定。这样的代码怎么来写啊。谢谢了!!
...全文
185 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zywuhao 2006-07-13
  • 打赏
  • 举报
回复
newfang(传说中的MIC)能写个代码的例子给我看看吗?
YFLK 2006-07-13
  • 打赏
  • 举报
回复
我喜欢 crapex(编程浪子)的方法
newfang(传说中的MIC) 的方法也可以,在使用上可能更灵活些,没有代码不好评论。
zywuhao 2006-07-12
  • 打赏
  • 举报
回复
谢谢大家的回答,我来试试看!!给答案的都有分,谁的效率高,得高分!!
newfang 2006-07-12
  • 打赏
  • 举报
回复
1 TOBJECTLIST
2 TLIST
3 动态数组技术: TYPE TLABELARR = ARRAY OF TLABEL;
然后SETLENGTH
andyzhou1101 2006-07-10
  • 打赏
  • 举报
回复
挖塞
比赛编程啊
呵呵
crapex 2006-07-10
  • 打赏
  • 举报
回复
还可以不设TLabel类型变量
procedure TForm1.Button1Click(Sender: TObject);
var
count,i:integer;//count记录你要生成多少个label
begin
count := 100;
for i:=0 to count-1 do
with TLabel.Create(NIL) do
begin
Parent:=Form1;
Caption:='Label'+IntToStr(i);
Top:=i*2;
left := i*2;
end;
end;
end;
手指风 2006-07-10
  • 打赏
  • 举报
回复
你们俩抢分真快啊
wudi_1982 2006-07-10
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
aLabel:array of TLabel;//一个关于tlabel的动态数组
count,i:integer;//count记录你要生成多少个label
begin
count := 100;
setlength(alabel,count);
for i:=0 to count-1 do
begin
aLabel[i]:=TLabel.Create(nil);
aLabel[i].Parent:=Form1;
aLabel[i].Caption:='Label'+IntToStr(i);
aLabel[i].Top:=i*2;
aleble[i].left := i*2;
end;
end;
老之 2006-07-10
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var aLabel:TLabel;
i:integer;
begin
for i:=1 to 10 do
begin
aLabel:=TLabel.Create(self);
aLabel.Parent:=Form1;
aLabel.Caption:='Label'+IntToStr(i);
aLabel.Top:=i*30;
aLabel.Show;
end;
end;

5,930

社区成员

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

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