以下动态生成一组按钮, 并赋予其事件处理函数:var arrBtn : array of TButton;procedure setArrBtn();
var i:integer;
begin
SetLength(arrBtn, 10);
for i:=0 to 9 do begin
arrBtn[i] := TButton.Create(self);
arrBtn[i].Caption := 'button' + IntToStr(i);
arrBtn[i].width := 100;
//.....设置其它属性
arrBtn[i].tag := i; //标识控件标志,以便在以后的事件处理函数中识别该控件。
arrBtn[i].OnClick := OnMyButton;
end;
end;//自定义的事件响应过程OnMyButton
procedure OnMyButton(Sender: TObject);
begin
//根据上面设置的tag值来判断按下的是哪个动态生成的控件 case TButton(Sender).tag of
1 : begin
//数组按钮1触发的事件
end;
2 : begin
//数组按钮2触发的事件
end;
3 ://....................... else..................
end;end;
var i:integer;
begin
SetLength(arrBtn, 10);
for i:=0 to 9 do begin
arrBtn[i] := TButton.Create(self);
arrBtn[i].Caption := 'button' + IntToStr(i);
arrBtn[i].width := 100;
//.....设置其它属性
arrBtn[i].tag := i; //标识控件标志,以便在以后的事件处理函数中识别该控件。
arrBtn[i].OnClick := OnMyButton;
end;
end;//自定义的事件响应过程OnMyButton
procedure OnMyButton(Sender: TObject);
begin
//根据上面设置的tag值来判断按下的是哪个动态生成的控件 case TButton(Sender).tag of
1 : begin
//数组按钮1触发的事件
end;
2 : begin
//数组按钮2触发的事件
end;
3 ://....................... else..................
end;end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货