Hola,
Yo utilice este codigo y funciona perfectamente, lo obtuve de la pagina de trucos delphi, ahi va
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, Grids, DBGrids, DB, DBTables;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
private
procedure DBGrid1PillaLaRueda(var Message: TMessage);
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
TomaInvento = class(TControl);
procedure TForm1.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;
procedure TForm1.FormCreate(Sender: TObject);
begin
DBGrid1.WindowProc := DBGrid1PillaLaRueda;
end;
end.
espero te resulte, lo que esta destacado es to que tienes que agregar al formulario.
Buena Suerte
Alejandro
Chile