Dicas - Utilizando a roda de rolagem do mouse em um DBGrid

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (7)  (0)

Veja nesta dica, como implementar uma função para "rolar" o DBGrid com a roda (scroll) do mouse.

Utilizando a roda de rolagem do mouse em um DBGrid

 

A roda de rolagem se comporta de forma estranha com DBGrids. Esse código corrige esse comportamento. Apenas coloque um ApplicationEvent (Additional) em um formulário e implemente o evento OnMessage da seguinte forma:

 

procedure TForm1.ApplicationEvents1Message(var Msg: TMsg; var Handled: Boolean);

var

  i: SmallInt;

begin

  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;

 

Nota: Isso corrige o comportamento da roda de rolagem não apenas para DBGrids, mas para todos os outros componentes de lista (ListBox, ListView, etc).

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?