如何垂直滚动到TWebScrollBox的底部?

问题描述 投票:0回答:1

我的 TMS WEB Core 项目中的表单上有一个

TWebScrollBox
组件。

我可以使用其上的

ScrollTop
属性从 Delphi 编程代码垂直滚动到滚动框中的各个位置。

所以如果我想滚动到滚动框的顶部,我可以执行以下操作:

WebScrollBox1.ScrollTop := 0;

但是如何滚动到滚动框的底部呢?

我尝试使用各种不同的属性来获取滚动框的高度,例如

Height
ClientHeight
ExplicitHeight
等。但是,我无法获取滚动框中内容的实际高度。


我现在设法通过使用

Integer.MaxValue
来伪造它,如下所示:

WebScrollBox1.ScrollTop := Integer.MaxValue;

但显然,这不是正确的解决方案,因为您没有将其设置为实际的内容高度。虽然不太可能,但有可能:内容高度也可能比

Integer.MaxValue
更长。

滚动到

TWebScrollBox
组件实际底部的正确方法是什么?

delphi tms tms-web-core delphi-12-athens scrollbox
1个回答
0
投票

我最终发现你可以使用

VertScrollBar.Range
属性来做到这一点,如下所示:

WebScrollBox1.ScrollTop := WebScrollBox1.VertScrollBar.Range;

这将获取

TWebScrollBox
中内容的实际高度,并将滚动条设置为使其滚动到底部。

© www.soinside.com 2019 - 2024. All rights reserved.