具体方法: 第一步:设置变量 X,Y,i :Integer; 第二步:定义一个创建过程: procedure TForm1.CreateButton(X,Y,i:Integer); begin Tmp:=TButton.Create(Application); with Tmp do begin Parent:=Form1; Left:=X; Top:=Y; Height:=28; Width:=28; name:='Button'+IntToStr(i); Tag:=i; OnClick:=ButtonOnClick; end; end; 第三步:定义 OnClick 事件: procedure TForm1.ButtonOnClick(Sender: TObject); var Click:TButton; begin if (Sender is TButton) then case (sender as TButton).Tag of 0: ;//do you stuff.. 1: ; end; end; 第三步:用循环调用 CreateButton 事件,注意改变 X,Y,I 的值。
第一步:设置变量 X,Y,i :Integer;
第二步:定义一个创建过程:
procedure TForm1.CreateButton(X,Y,i:Integer);
begin
Tmp:=TButton.Create(Application);
with Tmp do
begin
Parent:=Form1;
Left:=X;
Top:=Y;
Height:=28;
Width:=28;
name:='Button'+IntToStr(i);
Tag:=i;
OnClick:=ButtonOnClick;
end;
end;
第三步:定义 OnClick 事件:
procedure TForm1.ButtonOnClick(Sender: TObject);
var Click:TButton;
begin
if (Sender is TButton) then
case (sender as TButton).Tag of
0: ;//do you stuff..
1: ;
end;
end;
第三步:用循环调用 CreateButton 事件,注意改变 X,Y,I 的值。
事件处理程序是窗体的一个方法,要自行静态定义好,控件动态产生后,
要将这个方法赋值给控件的事件属性,如:
Button15.OnClick:=Form1.ButtonClick;
定义事件方法的最简单办法是:先在窗体上添加一个这样的控件,双击它的事件
属性,写上代码或一定先加上个注释,再删除刚添加的控件,这个事件方法就被
保留下来了,在个事件方法中,不要直接访问产生事件的控件名,要间接地用它
的参数Sender访问到产生事件的控件对象;