Ver Mensaje Individual
  #2  
Antiguo 31-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Prepárale un método al componente que puedas asociar a su evento "OnClick". Dicho método (porque ha de pertenecer a un objeto, por ejemplo, el mismo que estás llevando a cabo) asígnaselo de este modo:

Código Delphi [-]
   var
     MiBoton: TBitBtn;
   begin
     MiBoton := TBitBtn.Create(Self);
     MiBoton.Parent := Self;
     MiBoton.OnClick := MetodoOnClick;
     {...}
Donde la declaración de "MetodoOnClick" ha de ser la siguiente:

Código Delphi [-]
   procedure TForm1.MetodoOnClick(Sender: TObject);
En este caso "MetodoOnClick" es un método de un formulario, pero, lo requerido es que pertenezca a un objeto, por cumplir con lo que precisa el evento "OnClick" del botón, que es de tipo "TNotifyEvent" y se declara así:

Código Delphi [-]
   TNotifyEvent = procedure(Sender: TObject) of object;
Quiere decirse que el método en cuestión puede pertenecer a un formulario (como en el ejemplo de más arriba) o, en fin, a un objeto, el cual puede ser perfectamente el que estás llevando a cabo.

Es probable que con un poco de código se entienda mejor (máxime cuando mis explicaciones pueden dejar que desear) y con este espero que pueda hacerse:

Código Delphi [-]
 type
   TMiBoton = class(TBitBtn)
   private
     procedure MetodoOnClick(Sender: TObject);
   public
     constructor Create(AOwner: TComponent); override;
   end;
 
 implementation
 
 { MiBoton }
 
 constructor TMiBoton.Create(AOwner: TComponent);
 begin
   inherited;
   {...}
   OnClick := MetodoOnClick;
   {...}
 end;
 
 procedure TMiBoton.MetodoOnClick(Sender: TObject);
 begin
   // Responde al evento "OnClick" de "TMiBoton"
 end;
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 31-08-2005 a las 06:25:33. Razón: (ampliación del texto)
Responder Con Cita