我的 TMS WEB Core 项目中的表单上有一个
TWebScrollBox
组件。
我可以使用其上的
ScrollTop
属性从 Delphi 编程代码垂直滚动到滚动框中的各个位置。
所以如果我想滚动到滚动框的顶部,我可以执行以下操作:
WebScrollBox1.ScrollTop := 0;
但是如何滚动到滚动框的底部呢?
我尝试使用各种不同的属性来获取滚动框的高度,例如
Height
、ClientHeight
、ExplicitHeight
等。但是,我无法获取滚动框中内容的实际高度。
我现在设法通过使用
Integer.MaxValue
来伪造它,如下所示:
WebScrollBox1.ScrollTop := Integer.MaxValue;
但显然,这不是正确的解决方案,因为您没有将其设置为实际的内容高度。虽然不太可能,但有可能:内容高度也可能比
Integer.MaxValue
更长。
滚动到
TWebScrollBox
组件实际底部的正确方法是什么?
我最终发现你可以使用
VertScrollBar.Range
属性来做到这一点,如下所示:
WebScrollBox1.ScrollTop := WebScrollBox1.VertScrollBar.Range;
这将获取
TWebScrollBox
中内容的实际高度,并将滚动条设置为使其滚动到底部。