Ver Mensaje Individual
  #2  
Antiguo 27-06-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 24
maeyanes Va por buen camino
Hola...

Ya se ha hablado en alguna ocasión sobre esto en los foros. Básicamente lo que tienes que hacer es declarar una variable del tipo TNotifyEvent en tu componente. En esta variable guardas lo que tenga asociado el evento OnClick del control.

Algo así:

Código Delphi [-]
TMyComponent = class
private
  FOldOnClick: TNotifyEvent;

  procedure ControlClick(Sender: TObject);
protected
  procedure Loaded; override;
end;

implementation

procedure TMyComponent.ControlClick(Sender: TObject);
begin
  // Codigo a ejectuar
  if Assigned(FOldOnClick) then
    FOldOnClick(Sender)
end;

procedure TMyComponent.Loaded;
begin
  inherited;
  if not (csDesigning in ComponentState) and Assigned(FControl) then
  begin
    FOldOnClick := FControl.OnClick;
    FControl.OnClick := ControlClick
  end
end;


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita