UPD: Virtual terminal - speed up scroll by mouse wheel

This commit is contained in:
Alexander Koblov 2022-02-20 23:01:35 +03:00
commit a5846ca9ff

View file

@ -230,6 +230,7 @@ type
procedure DoStrRecieved(var Str: string); dynamic;
procedure DoUnhandledCode(Code: TEscapeCode; Data: string); dynamic;
procedure DoUnhandledMode(const Data: string; OnOff: Boolean); dynamic;
function DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
@ -1880,6 +1881,21 @@ begin
FOnUnhandledMode(Self, Data, OnOff);
end;
function TCustomComTerminal.DoMouseWheel(Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint): Boolean;
var
APos: Integer;
begin
Result:= True;
APos:= GetScrollPos(Handle, SB_VERT);
if WheelDelta < 0 then
APos:= APos + Mouse.WheelScrollLines
else begin
APos:= APos - Mouse.WheelScrollLines;
end;
ModifyScrollBar(SB_VERT, SB_THUMBPOSITION, APos);
end;
// create escape codes processor
procedure TCustomComTerminal.CreateEscapeCodes;
begin