delphi 动态数组的onclick事件

2025-03-03 06:01:05
推荐回答(2个)
回答1:

私有或者公有,友元声明区:

checkboxList:array of tcheckbox;
procedure CheckBoxClick(sender:TObject);

Procedure Tform1.createCheckBoxList(nCount:integer);
var I:integer;
begin
setlength(checkboxlist,nCount);
for I:=1 to nCount do
begin
checkBoxList[I-1]:=Tcheckbox.create(self);
......//这里初始化checkbox
checkBoxList[I-1].onClick:=CheckBoxClick;
//这里是关键部分
end;
end;

procedure Tform1.CheckBoxClick(sender:TObject);
var TmpCheckBox:TCheckBox;
begin
if sender is TCheckBox then
begin
TCheckBox(Sender).Color:=x;//这个x为颜色值,请自行代换
end;
end;

回答2:

先写好一个ONCLICK事件,然后动态生成TCHECKBOX的时候,把ONCLICK事件赋给他。