Vaya, si que se puede. Lo dejo por si a alguien le interesa:
En las Private Declarations
Código Delphi
[-]
procedure DBGrid1PillaLaRueda(var Message: TMessage);
procedure MMouseEvent(var Msg: TMsg; var Handled: Boolean);
Despues de los Uses y antes de {SR *.DFM}Código Delphi
[-]
type
TomaInvento = class(TControl);
El el OnCreate de la Form
Código Delphi
[-]
DBGrid1.WindowProc := DBGrid1PillaLaRueda;
Application.OnMessage := MMouseEvent;
El procedure del Scroll Vertical
Código Delphi
[-]
procedure TForm3.DBGrid1PillaLaRueda(var Message: TMessage);
var
Cuanto : short;
begin
if (Message.Msg = WM_MOUSEWHEEL) then begin
Cuanto:=HIWORD(Message.WParam);
Cuanto:=Cuanto div 120;
DbGrid1.DataSource.DataSet.MoveBy(-Cuanto);
end else TomaInvento(DBGrid1).WndProc(Message);
end;
Y por último, después del procedure Vertical, el procedure de Ecfisa para el Scroll Horizontal
Así tenemos los Scroll Vertical y Horizontal sin usar las Barras de Desplazamiento
Muchas gracias