delphi 入门级求助,动态创建控件问题

dafeng168 2006-07-07 01:01:02
比如:在FormCreate事件里,动态循环创建10个Label控件,Label的Name属性为1到10,请问程序要怎么写?
...全文
192 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dafeng168 2006-07-07
  • 打赏
  • 举报
回复
楼上的正解,,
谢了
wxh850619 2006-07-07
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var labelarr:array[1..5] of Tlabel;
i,topsize:integer;
begin
topsize:=10;
for i:=1 to 5 do
begin
labelarr[i]:=Tlabel.create(self);
with labelarr[i] do
begin
autosize:=true;
font.Color :=clblack;
font.Name :='宋体';
font.Size :=10;
left:=20;
top:=topsize+40;
topsize:=topsize+20;
caption:=inttostr(i);
end;
form1.InsertControl(labelarr[i]);
end;
end;
dafeng168 2006-07-07
  • 打赏
  • 举报
回复
按上面说的,
编译是出错:'[' expected but'[' found
请问又是什么回事呢?

在labelarr1[i]:=Tlabel.Create(self);
当打完"tlabel."时没有出现弹出create方法或其他属性,方法..

可否给出完整的程序呢,,小弟比较笨,,在此多谢先
lonoaer 2006-07-07
  • 打赏
  • 举报
回复
for i:=1 to 10 do
begin
labelarr1[i]:=Tlabel.Create(self);
with labelarr1[i] do
begin
tag = i; //加上以备不时之需
end;
dafeng168 2006-07-07
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
type Labelarr1:array[1..20] of Tlabel;
var i:integer;
begin

for i:=1 to 10 do

begin
with labelarr1[i] do
begin
autosize:=true;
font.Color:=clblack;
font.Name:='宋体';
font.Size:=10;
left:=leftsize;
top:=topsize+40;
topsize:=topsize+20;
caption:=inttostr(i);
end;

form1.InsertControl(labelarr1[i]);
end;

end;

请问:labelarr1[i]:=Tlabel.Create(self);加在哪个位置?
tbarce 2006-07-07
  • 打赏
  • 举报
回复
上面的caption自己改,我的是一个数据库里的东西
tbarce 2006-07-07
  • 打赏
  • 举报
回复
Labelarr1:array[1..20] of Tlabel;



labelarr1[i]:=Tlabel.Create(self);

for i:=1 to 10 do
begin
with labelarr1[i] do
begin
autosize:=true;
font.Color:=clblack;
font.Name:='宋体';
font.Size:=10;
left:=leftsize;
top:=topsize+40;
topsize:=topsize+20;
caption:=adoquery1.fieldbyname('nam').AsString;
end;

form1.InsertControl(labelarr1[i]);
end;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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