Cita:
Empezado por Caral
Hola
No se si sera esto lo que preguntas, pero para saber que boton presionaste es solo cuestion de definir el nombre de la variable, algo asi:
Código Delphi [-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure OnButton1Click(Sender: TObject);
procedure OnButton2Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
Button1,Button2: TButton;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1:= TButton.Create(Self);
Button1.Parent := Self;
Button1.Caption := 'Botón';
Button1.Left:= 20;
Button1.Top:= 10;
Button1.OnClick := OnButton1Click;
Button2:= TButton.Create(Self);
Button2.Parent := Self;
Button2.Caption := 'Botón';
Button2.Left:= 100;
Button2.Top:= 10;
Button2.OnClick := OnButton2Click;
end;
procedure TForm1.OnButton1Click(Sender: TObject);
begin
ShowMessage('Presionaste el boton 1!');
end;
procedure TForm1.OnButton2Click(Sender: TObject);
begin
ShowMessage('Presionaste el boton 2!');
end;
end.
Como veras, aqui estan el boton 1 y el dos declarados y tienen un diferente evento OnClick.
Espero que te sirva.
Saludos
|
Si, Gracias CARAL por tu ayuda....pero ya lo resolvi, resulta q no sabia utilizar el SENDER del procedimiento....te comento q estoy creando botones en tiempo de ejecucion, por cada SERVICIO de lavanderia que registre el usuario es un boton, la solucion q me propones, y la cual se agradece, no me podria servir de mucho, ya que necesito dejar abierto la cantidad de botones, habra tantos de ellos como servicios haya creado el usuario.
En si lo servicios no pasaran de 10....pongo la forma en como lo solucione, para ti -si en algo te ayuda- y todos los q consultan este club.
GRACIAS !
Solucion:
Código Delphi
[-]
procedure TfrmRegServicios.FormShow(Sender: TObject);
Var
PosY:Integer;
begin
gBoxTipoServicio.Caption:='';
qryServicios.Close;
qryServicios.Open;
PosY:=100;
n:=1;
While not qryServicios.Eof do
begin
Botones[n]:=TButton.Create(Self);
with Botones[n] do
begin
Caption:=qryServicios.fieldbyname('DESCRIPCION').AsString;
Parent:=self;
Height:=71;
Top:=PosY;
PosY:=PosY+Height+10;
Left:=16;
Width:=97;
OnClick:=OnButtonClick;
Name:='btn'+IntToStr(n);
Tag:=qryServicios.fieldbyname('CLAVE_SERVICIO').AsInteger;
end;
qryServicios.Next;
inc(n);
end;
end;
procedure TfrmRegServicios.OnButtonClick(Sender:TObject);
var
nServicio:Integer;
begin
with Sender as tButton do begin
nServicio:=(Sender as tButton).Tag;
gBoxTipoServicio.Caption:=(Sender as tButton).Caption;
end;
qryPrenda.Close;
qryPrenda.ParamByName('SERVICIO').AsInteger:=nServicio;
qryPrenda.Open;
qryPrenda.FetchAll;
end;
procedure TfrmRegServicios.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
Lo resaltado con rojo es lo q andaba buscando !....SALUDOS !