Hola
Aqui todos los Buttons los creo en un mismo panel, pero para el caso es lo mismo, el evento onclick es comun a todos los buttons y TBUTTON(SENDER) te devuelve el button presionado
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
procedure FormCreate(Sender: TObject);
private
PROCEDURE BUTO_APRETAT(Sender: TObject);
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
VAR
BUTO: TButton;
x: integer;
begin
for x:=1 to 4 do
begin
BUTO := TButton.CREATE(SELF);
BUTO.Parent := PANEL1;
BUTO.Top := 2;
BUTO.Left := 4+20*x;
BUTO.CAPTION := 'Buto_' + inttostr(x);
buto.name := 'Buto_' + inttostr(x);
BUTO.OnClick := BUTO_APRETAT;
end;
end;
PROCEDURE TForm1.BUTO_APRETAT(Sender: TObject);
var
nom: string;
BEGIN
nom := TBUTTON(SENDER).name;
END;
Espero haberte entendido
Saludos