Fórum Movimentar Scrollbox com o scroll do mouse #268897

16/02/2005

0

Olá pessoal! Como eu faço para movimentar a barra de rolagem vertical com o scroll do mouse?
Tentei usar a ajuda do delphi mas não consegui resultados!
Obrigado pela atenção e por qualquer ajuda!
Um forte abraço a todos!


Jorgerock

Jorgerock

Responder

Post mais votado

04/07/2009

resolvi este problema assim:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure Tform_principal.ApplicationEvents1Message(var Msg: tagMSG;
  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;


funciona em todo o sistema ...

abraços !!!


Danielrsanches

Danielrsanches
Responder

Gostei + 1

Mais Posts

03/07/2009

Lucasoso

Podes tentar assim:

procedure TSeuFormulario.FormMouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
with VertScrollBar do
begin
if (Position <= (Range - Increment)) then
Position := Position + Increment
else
Position := Range - Increment;
end;
end;

procedure TSeuFormulario.FormMouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
with VertScrollBar do
begin
if (Position >= Increment) then
Position := Position - Increment
else
Position := 0;
end;
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar