var speedbutton1 :TSpeedButton; begin speedbutton1 := TSpeedButton.create(Self); speedbutton1.Parent:=self;也可以装SELF改成其它的可停靠控件,不然无法显示! end;
在form的public里声明speedbutton[10]:array[1..10]of tspeddbutton; 在form的create事件里 for i:=1 to 10 do begin speedbutton[i]:=tspeedbutton.create(self); with speedbutton[i] do begin parent:=form1; left:=...... top:=......//长和宽的处理自己搞定 tag:=i; //你要动态处理控件数组必须的标志 onclick:=Tspeedbuttonclick; end; end; 再在form的public中声明过程:TSpeedButtonClick(Sender:TObject); 对它的处理过程如下: with sender as (TSpeedButton) do begin case tag of 1:begin end; 2:... ... 10:...//各个按钮的处理事件 end; end; 明白了吗?:)
var sp1 :TSpeedButton; begin sp1 := TSpeedButton.create(Self);不一定是self也可是owner sp1.Parent:=form1(self);self也可以是panel,groupbox等容器控件 sp1.top:=... sp1.left:=.... 用完可别忘记释放 sp1.free;/sp1.destory
var speedbutton1 :TSpeedButton; begin speedbutton1 := TSpeedButton.create(Self); speedbutton1.Parent:=self;//或者SpeedButton1.parent:=panel1之类的. end;
speedbutton1 :TSpeedButton;
begin
speedbutton1 := TSpeedButton.create(Self);
speedbutton1.Parent:=self;也可以装SELF改成其它的可停靠控件,不然无法显示!
end;
在form的create事件里
for i:=1 to 10 do
begin
speedbutton[i]:=tspeedbutton.create(self);
with speedbutton[i] do
begin
parent:=form1;
left:=......
top:=......//长和宽的处理自己搞定
tag:=i; //你要动态处理控件数组必须的标志
onclick:=Tspeedbuttonclick;
end;
end;
再在form的public中声明过程:TSpeedButtonClick(Sender:TObject);
对它的处理过程如下:
with sender as (TSpeedButton) do
begin
case tag of
1:begin
end;
2:...
...
10:...//各个按钮的处理事件
end;
end;
明白了吗?:)
sp1 :TSpeedButton;
begin
sp1 := TSpeedButton.create(Self);不一定是self也可是owner
sp1.Parent:=form1(self);self也可以是panel,groupbox等容器控件
sp1.top:=...
sp1.left:=....
用完可别忘记释放
sp1.free;/sp1.destory
speedbutton1 :TSpeedButton;
begin
speedbutton1 := TSpeedButton.create(Self);
speedbutton1.Parent:=self;//或者SpeedButton1.parent:=panel1之类的.
end;