Ver Mensaje Individual
  #2  
Antiguo 27-10-2004
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Reputación: 21
defcon1_es Va por buen camino
Hola, para esto hay 2 soluciones (o más, pero no se me ocurren )

1) Crear un descendiente de la clase del componente que quieres y sobreescribir el método en cuestión.
Código Delphi [-]
type
  tMiClaseHija = class(TClase_Padre);
  ...
  protected
  ...
    procedure DoClick; override; 
  ...
  end;
Esto implica que, si quieres asignar el mismo código al evento OnClick de objetos de distintas clases (TBitBtn y TButton), debes implementarlo en los descendientes que te crees de esas clases...
Y si tienes que modificar el código de ese evento, debes hacerlo en todas las clases descendientes que hayas creado.

2) Crear un evento "genérico" con argumentos compatibles con el evento que deseas asignar, p.ej.:
Código Delphi [-]
procedure Mi_Manejador_de_EventoClick(Sender: TObject);
begin
....
// Código que se ejecutará cuando invoque el evento.
....
end;
 
procedure TForm1.FormShow(Sender: TObject);
begin
....
  MiBoton.OnClick := Mi_Manejador_de_Evento;
....
end;
Esta 2ª opción sirve para objetos de distintas clases, p. ej., para un TBitBtn y un TButton (ambos tienen el evento OnClick con el mismo argumento).
Y si tienes que modificar el código de ese evento, lo haces en un sólo sitio.

Depende de tus necesidades

Salu2.
Responder Con Cita