2015-02-23 191 views
1

我在表格中有一个THorzScrollBox,里面有一些TStyledControls。每个StyledControl都有一个Tag来标识。使用TEdit来通知价值,我可以通过他的tagScrollBox内找到具体的Control以编程方式滚动THorzScrollBox Firemonkey XE6

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

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

回答

3

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

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

如果我使用一个正数,就会向左滚动。

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

的一点是,如果您滚动一次,ViewportPosition会改变,在下一次执行ScrollBy,它不会重置滚动位置,它会从你已经滚动了滚动点。