TForm1 = class TForm
public
botonPrueba: Button;
procedure miEventeo(Sender: TObject);
end;
....
botonPrueba := Button.Create(nil); //AOwner puede ser nil, self, Form1....
botonPrueba.Parrent := Form1; //si o si, form1, o form2, es donde se muestra
botonPrueba.Top, Left, Button, ...... lugar
boton.OnClick := miEvento; //ABAJO DEFINO miEvento
procedure miEvento(sender: TObject);
begin
if Sender is TButton then
begin
TButon(Sender).Caption := 'boton presionado';
ShowMessage('presionaste un boton');
end;
end;