FIX: Scroll line by line with cursor movement

(cherry picked from commit 5ab603bcfe)
This commit is contained in:
Alexander Koblov 2025-08-02 22:32:49 +03:00
commit 18bd640b80

View file

@ -45,6 +45,7 @@ type
procedure DragCanceled; override;
procedure DoMouseMoveScroll(X, Y: Integer);
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
function DoMouseWheelHorz(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X,Y: Integer); override;
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift:TShiftState; X,Y:Integer); override;
@ -1343,7 +1344,6 @@ begin
Options := [goFixedVertLine, goFixedHorzLine, goTabs, goRowSelect, goColSizing,
goThumbTracking, goSmoothScroll, goHeaderHotTracking, goHeaderPushedLook];
MouseWheelOption:= mwGrid;
TitleStyle := gColumnsTitleStyle;
TabStop := False;
@ -2320,6 +2320,18 @@ begin
ColumnsView.Selection(SavedKey, Row - FixedRows);
end;
function TDrawGridEx.DoMouseWheelHorz(Shift: TShiftState; WheelDelta: Integer;
MousePos: TPoint): Boolean;
begin
Result:= AutoFillColumns;
if not Result then
begin
MouseWheelOption:= mwGrid;
Result:= inherited DoMouseWheelHorz(Shift, WheelDelta, MousePos);
MouseWheelOption:= mwCursor;
end;
end;
procedure TDrawGridEx.ScrollHorizontally(ForwardDirection: Boolean);
function TryMove(ACol: Integer): Boolean;
begin