Ver Mensaje Individual
  #5  
Antiguo 09-02-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.438
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por buildero_d
Lo que necesito es que si agrego código al evento OnCloseQuery del form, este se ejecute, pero tambien se debe ejecutar el de mi componente.
Lo que se suele hacer en esos casos es al asignar tu evento, guardarte en una variable el apuntador al otro evento y al ejecutar el tuyo, llamar al otro antes o después segun te interese.

Algo aí:

Código Delphi [-]
==> La variable para guardar el otro evento
private 
  _OLDMouseMove: TMouseMoveEvent;  // Para guardar el otro

==> El procedimiento que quieres ejecutar tú
    // procedimiento para capturar movimiento del ratón
    procedure MyMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

...


==> Qué hay en tu procedimiento; En este caso lo primero que 
==> se hace es llamar al otro
//: procedimiento para capturar movimiento del ratón
procedure TCustomizeGrid.MyMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
  pt: TGridCoord;
begin

  // Lanzamos el evento programado anteriormente
  if Assigned(_OLDMouseMove) then begin
    _OLDMouseMove(Sender, Shift, X, Y);
  end;
......


==> Aquí es donde asignar tu procedimiento y te apuntas el otro...
  // Asignado ya el evento del Grid?  (OnMouseMove)
  if Assigned(FGrid.OnMouseMove) then begin
    // Lo redireccionamos
    _OLDMouseMove := FGrid.OnMouseMove;
  end;
  // Lo "Capturamos" para realizar nuestras cosas
  FGrid.OnMouseMove := MyMouseMove;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita