以编程方式滚动THorzScrollBox Firemonkey XE6

时间:2015-02-23 19:24:31

标签: delphi scroll firemonkey delphi-xe6 tscrollbox

表单中有一个THorzScrollBox,里面有一些TStyledControls。每个StyledControl都有一个Tag来识别。使用TEdit通知值,我可以通过ScrollBoxControl内找到特定的tag

如果我搜索的control不在屏幕上,我想滚动ScrollBox以显示它。

如何以编程方式执行此操作?

1 个答案:

答案 0 :(得分:4)

我找到了一种方法来做到这一点。 我必须使用ScrollBy。但细节是,如果我想将控件向右滚动,我必须使用负值。 例如:

sbItems.ScrollBy(-10, 0); // this will scroll to right

如果我使用正值,它将向左滚动。

sbItems.ScrollBy(10, 0); // this will scroll to left

关键是,如果您滚动一次,ViewportPosition将会改变,下次执行ScrollBy时,它将不会重置滚动位置,它将从您已滚动的点滚动