简单啦
private
procedure ButtonsClick(Sender: TObject);
生成过程:
for i := low(pnlArr) to high(pnlArr) do
begin
lb := TLabel.Create(self);
lb.Parent := self;
lb.Transparent := true;
lb.AutoSize := false;
lb.Left := cleft;
lb.Width := cwidth;
lb.Height := cheight;
lb.OnClick := ButtonsClick;//就是这一句了
end;
调用过程:
procedure TForm1.ButtonsClick(Sender: TObject);
var
index: integer;
begin
index := TWinControl(Sender).Tag - 100;
if MessageDlg('将进行' + pnlArr[index].name + '的安装,是否继续', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
ShellExecute(Application.Handle, 'Open', pchar(pnlArr[index].exename), nil, nil, SW_SHOWNORMAL);
end;