|
@@ -5012,6 +5012,7 @@ end;
|
|
|
procedure TFPMemo.HandleEvent(var Event: TEvent);
|
|
|
var DontClear: boolean;
|
|
|
S: string;
|
|
|
+ LineCount,LinesScroll : Sw_Integer;
|
|
|
begin
|
|
|
case Event.What of
|
|
|
evKeyDown :
|
|
@@ -5028,6 +5029,22 @@ begin
|
|
|
end;
|
|
|
if not DontClear then ClearEvent(Event);
|
|
|
end;
|
|
|
+ evMouseDown:
|
|
|
+ if (Event.Buttons=mbScrollUp) then { mouse scroll up}
|
|
|
+ begin
|
|
|
+ LinesScroll:=1;
|
|
|
+ if Event.Double then LinesScroll:=LinesScroll+4;
|
|
|
+ LineCount:=Max(GetLineCount,1);
|
|
|
+ ScrollTo(Delta.X,Min(Max(0,LineCount-Size.Y),Delta.Y+LinesScroll));
|
|
|
+ ClearEvent(Event);
|
|
|
+ end else
|
|
|
+ if (Event.Buttons=mbScrollDown) then { mouse scroll down }
|
|
|
+ begin
|
|
|
+ LinesScroll:=-1;
|
|
|
+ if Event.Double then LinesScroll:=LinesScroll-4;
|
|
|
+ ScrollTo(Delta.X, Max(0,Delta.Y+LinesScroll));
|
|
|
+ ClearEvent(Event);
|
|
|
+ end;
|
|
|
end;
|
|
|
inherited HandleEvent(Event);
|
|
|
end;
|