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.