是这个意思吗?
procedure TForm1.Button1Click(Sender: TObject);
var
b:Tbutton;
begin
b:=Tbutton.Create(self);
b.name:='java';
b.parent:=form1;
b.Caption:='2';
b.top:=100;
b.left:=100;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
b:Tbutton;
begin
b:=Tbutton.Create(self);
b.name:='java';
b.parent:=form1;
b.Caption:='2';
b.top:=100;
b.left:=100;
end;
dd : TDbedit;
i : integer;
begin
for i:=1 to 10 do
begin
dd:=tdbedit.Create(self);
dd.Name:='dbedit'+inttostr(i); //以序号来命名控件
dd.Width:=170;
dd.DataSource:=dm1.datasource1;
end;
end;
可以创建多个吗?
dd : TDbedit这样。如果创建数量比较多的话,也可用控件数组实现,like:
ArrayDbedit : Array of TDBedit;
var
compDy : TComponent;
begin
compDy := TEdit.Create(nil);
(compDy as TEdit).Parent:=Form1;
end;
不太清楚你的意思,你可以定义一个Tcomponent的变量,如上;
你也可以:
TEdit.Create(nil).parent := Form1;
但这样再操作该组件时,只能用FindComponet查找后再操作!
var
yourbutton:array of tbutton;
i:integer;
beging
setlength(yourbutton,yournum);
for i:=1 to yournum do
begin
yourbutton[i]:=tbutton.create(self);
yourbutton.parent:=yourform;
.....
end;
end;