【问题标题】:Scrolling Programmatically THorzScrollBox Firemonkey XE6以编程方式滚动 ThorzScrollBox Firemonkey XE6
【发布时间】:2015-04-25 05:52:55
【问题描述】:
我在表格中有一个THorzScrollBox,里面有一些TStyledControls。每个StyledControl 都有一个Tag 来识别。使用TEdit 通知一个值,我可以在ScrollBox 中通过他的tag 找到一个特定的Control。
如果我搜索的control 不在屏幕上,我想滚动ScrollBox 以显示它。
如何以编程方式执行此操作?
【问题讨论】:
标签:
delphi
scroll
firemonkey
delphi-xe6
tscrollbox
【解决方案1】:
我找到了一种方法来做到这一点。
我必须使用ScrollBy。但细节是,如果我想向右滚动控件,我必须使用负值。
示例:
sbItems.ScrollBy(-10, 0); // this will scroll to right
如果我使用正值,它将向左滚动。
sbItems.ScrollBy(10, 0); // this will scroll to left
关键是,如果你滚动一次,ViewportPosition 会改变,下次你执行ScrollBy 时,它不会重置滚动位置,它会从你已经滚动的点开始滚动。