Ver Mensaje Individual
  #2  
Antiguo 25-06-2006
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Reputación: 19
celades1 Va por buen camino
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);
    { Private declarations }
  public
    { Public declarations }
  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;
  {
    con TBUTTON(SENDER) sabes el button apretado if nom='Buto_1' then
    haz_lo_que_sea else if nom='Buto_2' then haz_otra_cosa else haz_defecto;
  }
END;

Espero haberte entendido

Saludos

Última edición por dec fecha: 25-06-2006 a las 14:46:19.
Responder Con Cita