Scroll do mouse no DBgrid..

Delphi

18/08/2005

Tem uma coisa curiosa no dbgrid que é no minimo esquisito e sem função...clicko em 1 registro e se usar o scrol do mouse fica uma seleção como se estivesse navegando pelo pelos os registros más os mesmos não se movem...tem como ficar continuo ? tipo rolei o scroll e os registros mudam tb...Valew..


Gigatel

Gigatel

Curtidas 0

Respostas

Bico

Bico

18/08/2005

Bom dia.

Tive este problema e consegui resolver da seguinte forma:

No seu Form principal declare a procedure a seguir:
procedure ScrollMouse(var Msg: TMsg; var Handled: Boolean);


A implementação desta procedure fica assim:
procedure TFormPrincipal.ScrollMouse(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;


No evento OnCreate do Form coloque esta linha:
procedure TFormPrincipal.FormCreate(Sender: TObject);
begin
  Application.OnMessage := ScrollMouse;
end;


Atenciosamente,
Fernando.


GOSTEI 0
Gigatel

Gigatel

18/08/2005

Apesar de ter um tempinho, más vlw adotei um componete para resolver isso más vou estudar a função, vlw mesmo t+


GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

18/08/2005

Fiz como esta dizendo mais da um erro
Debugger Exception Notification
---------------------------
Project Autosad.exe raised exception class ERangeError with message 'Range check error'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------


uso Delphi 7
GOSTEI 0
POSTAR