|
@@ -3763,9 +3763,16 @@ begin
|
|
PrevP.X:=-1; { first time previous point is different }
|
|
PrevP.X:=-1; { first time previous point is different }
|
|
repeat
|
|
repeat
|
|
GetMousePos(P);
|
|
GetMousePos(P);
|
|
- if (P.X<>PrevP.X) or (P.Y<>PrevP.Y) then
|
|
|
|
|
|
+ if ((P.X<>PrevP.X) or (P.Y<>PrevP.Y)) or (Event.What = evMouseWheel) then
|
|
begin
|
|
begin
|
|
Lock;
|
|
Lock;
|
|
|
|
+ if Event.What = evMouseWheel then
|
|
|
|
+ begin
|
|
|
|
+ E:=Event;
|
|
|
|
+ HandleEvent(Event); { do scrolling }
|
|
|
|
+ Event:=E;
|
|
|
|
+ GetMousePos(P); { new mouse position after scroll up/down }
|
|
|
|
+ end;
|
|
SetCurPtr(P.X,P.Y);
|
|
SetCurPtr(P.X,P.Y);
|
|
PrevP:=P;
|
|
PrevP:=P;
|
|
if PointOfs(P)<PointOfs(StartP)
|
|
if PointOfs(P)<PointOfs(StartP)
|
|
@@ -3774,7 +3781,7 @@ begin
|
|
DrawView;
|
|
DrawView;
|
|
UnLock;
|
|
UnLock;
|
|
end;
|
|
end;
|
|
- until not MouseEvent(Event, evMouseMove+evMouseAuto);
|
|
|
|
|
|
+ until not MouseEvent(Event, evMouseMove+evMouseAuto+evMouseWheel);
|
|
DrawView;
|
|
DrawView;
|
|
ClearEvent(Event);
|
|
ClearEvent(Event);
|
|
end else
|
|
end else
|