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; 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 else
OldCellClick := nil;
OnCellClick := ClicCelda; end;
procedure TExtendedGrid.ClicCelda(Column: TColumn);
begin
if Assigned(OldCellClick) then
OldCellClick(Column);
end;
Espero te sirva