Einzelnen Beitrag anzeigen

Rolf Frei

Registriert seit: 19. Jun 2006
647 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Mit dem Mausrad in einer Scrollbox scrollen

  Alt 11. Jul 2019, 15:48
WheelDelta kann er nutzen um entsprechend zu scrollen. Der Wert ist übrigens immer 120/-120. Das ist im MSDN auch so beschrieben. Ein schneller Test hat das bei mir bestätigt. Wenn ich die Mauseinstellungen ändere, hat das keine Wirkung auf diesen Wert.

Dieser Wert kann aber in der Berechnung der Pixel benutzt werden. Sein Event könnte dann etwas so aussehen:

Delphi-Quellcode:
procedure TForm1.ScrollBox1MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
  var Handled: Boolean);
begin
  ScrollBox1.VertScrollBar.Position :=
    ScrollBox1.VertScrollBar.Position - (WheelDelta * Mouse.WheelScrollLines div 10);
end;
Der Wert 10 im Beispiel kann entsprechend angepasst werden um die gewünschte Defaultgeschwindigkeit zu bestimmen. Wie grösser dieser Wert ist, umso kleiner ist der Scrollbereich mit einer Mausraddrehung. Mouse.WheelScrollLines ist der Wert aus den Mauseinstellungen.
  Mit Zitat antworten Zitat