Ver Mensaje Individual
  #6  
Antiguo 27-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
Aunque te ponga código Delphi espero que lo entiendas

El ejemplo muestra como lanzar (en un TDbGrid) el evento OnCellClick siempre (y si lo tiene, luego el del usuario).

Código Delphi [-]
  TExtendedGrid = class(TDbGrid)
  private
    FOldCellClick: TDBGridClickEvent;     // Evento antiguo de DBGridClick
  protected
    procedure ClicCelda(Column: TColumn);

    property OldCellClick: TDBGridClickEvent read FOldCellClick write FOldCellClick;
  public
    constructor Create(AOwner: TComponent); override;
  end;

implementation

constructor TExtendedGrid.Create(AOwner: TComponent);
begin
  inherited;

  if Assigned(OnCellClick) then
    OldCellClick := OnCellClick // si tiene, lo guardo
  else
    OldCellClick := nil;
  OnCellClick := ClicCelda; // le asigno mi procedimiento
end;

procedure TExtendedGrid.ClicCelda(Column: TColumn);
begin
  // Hago lo que sea..........

  // Si tenía evento asociado.... lo lanzo
  if Assigned(OldCellClick) then
    OldCellClick(Column);
end;

Espero te sirva
Responder Con Cita