该项目在Delphi5中
我有一个表单,它将显示可变数量的面板,大到足以使表单变得比屏幕一次显示的大得多。
我使用以下内容让鼠标滚轮上下滚动
ScrollBy(0, WheelDelta);
它工作正常,但您可以滚动浏览表单的顶部或底部。
有没有办法限制滚动的范围?
提前感谢您的帮助。
唐
答案 0 :(得分:3)
由于您可以看到垂直滚动条,因此最好对其执行操作,而不是调用ScrollBy
。
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
VertScrollBar.Position := VertScrollBar.Position-WheelDelta;
Handled := True;
end;
滚动条限制更改为其顶部位置和最大滚动位置