Gracias por tu respuesta Luis, el "problema" que tengo al intentar implementar una solución de este tipo es que tengo que escribir todo el código del keydown y que si lanzo un inherited va a utilizar el de la clase padre, si se pudiera de algún modo en el keydown sobreescrito del nuevo objeto hacer algo del tipo:
Código:
procedure TSuperGrid.KeyDown(var Key: Word; Shift: TShiftState);
begin
inherited Tcustomdbgrid.keydown(key,Shift);
end.
Por supuesto este código me da el error "undeclared identifier Tcustomdbgrid" por mucho que tenga en el uses declarado dbgrids, lo pongo a modo de ejemplo por si alguién puede decirme un modo de pode utilizar el código que ya existe en el keydown del tcustomdbgrid y evitarme tener que implementar de 0 todo el keydown. De nuevo gracias por la ayuda.