- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi ScrollBox1滚动框鼠标滚轮
//方法1:
procedure TForm1.ScrollBoxMouseWheel(Sender: TObject;
Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
var Handled: Boolean);
var
LTopLeft, LTopRight, LBottomLeft, LBottomRight: SmallInt;
LPoint: TPoint;
ScrollBox: TScrollBox;
begin
ScrollBox := TScrollBox(Sender);
LPoint := ScrollBox.ClientToScreen(Point(0,0));
LTopLeft := LPoint.X;
LTopRight := LTopLeft + ScrollBox.ClientWidth;
LBottomLeft := LPoint.Y;
LBottomRight := LBottomLeft + ScrollBox.ClientWidth;
if (MousePos.X >= LTopLeft) and
(MousePos.X <= LTopRight) and
(MousePos.Y >= LBottomLeft) and
(MousePos.Y <= LBottomRight) then
begin
ScrollBox.VertScrollBar.Position := ScrollBox.VertScrollBar.Position - WheelDelta;
Handled := True;
end;
end;
//方法2:
procedure TForm1.ScrollBox1MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
Handled := True;
if WheelDelta < 0 then
TScrollBox(Sender).VertScrollBar.Position := TScrollBox(Sender).VertScrollBar.Position + TScrollBox(Sender).VertScrollBar.Increment
else
TScrollBox(Sender).VertScrollBar.Position := TScrollBox(Sender).VertScrollBar.Position - TScrollBox(Sender).VertScrollBar.Increment;
end;