Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как заставить корректно работать колесо мыши в TDBGrid?

01.01.2007
{....}
 
public
  procedure
AppMessage(var Msg: TMsg; var Handled: Boolean);
 
{....}
 
 
 
procedure TForm1
.AppMessage(var Msg: TMsg; var Handled: Boolean);
var
  i
: SmallInt;
begin
 
{Mouse wheel behaves strangely with dgbgrids - this proc sorts this out}
 
if Msg.message = WM_MOUSEWHEEL then
 
begin
   
Msg.message := WM_KEYDOWN;
   
Msg.lParam := 0;
    i
:= HiWord(Msg.wParam);
   
if i > 0 then
     
Msg.wParam := VK_UP
   
else
     
Msg.wParam := VK_DOWN;
 
   
Handled := False;
 
end;
end;
 
 
// And in the project source:
 
{....}
 
Application.OnMessage := Form1.AppMessage;
 
{....}

Взято с сайта https://www.swissdelphicenter.ch/en/tipsindex.php