以编程方式滚动 THorzScrollBox Firemonkey XE6
Scrolling Programmatically THorzScrollBox Firemonkey XE6
我有一个 THorzScrollBox
的表格,还有一些 TStyledControls
的表格。每个StyledControl
都有一个Tag
来标识。使用 TEdit
来通知一个值,我可以在 ScrollBox
中找到一个特定的 Control
通过他的 tag
.
如果我搜索的 control
不在屏幕上,我想滚动 ScrollBox
来显示它。
如何以编程方式执行此操作?
我找到了一种方法来做到这一点。
我必须使用 ScrollBy
。但细节是,如果我想向右滚动控件,我必须使用负值。
示例:
sbItems.ScrollBy(-10, 0); // this will scroll to right
如果我使用正值,它会向左滚动。
sbItems.ScrollBy(10, 0); // this will scroll to left
关键是,如果你滚动一次,ViewportPosition
会改变,下次你执行ScrollBy
时,它不会重置滚动位置,它会从你已经滚动的点开始滚动已滚动。
我有一个 THorzScrollBox
的表格,还有一些 TStyledControls
的表格。每个StyledControl
都有一个Tag
来标识。使用 TEdit
来通知一个值,我可以在 ScrollBox
中找到一个特定的 Control
通过他的 tag
.
如果我搜索的 control
不在屏幕上,我想滚动 ScrollBox
来显示它。
如何以编程方式执行此操作?
我找到了一种方法来做到这一点。
我必须使用 ScrollBy
。但细节是,如果我想向右滚动控件,我必须使用负值。
示例:
sbItems.ScrollBy(-10, 0); // this will scroll to right
如果我使用正值,它会向左滚动。
sbItems.ScrollBy(10, 0); // this will scroll to left
关键是,如果你滚动一次,ViewportPosition
会改变,下次你执行ScrollBy
时,它不会重置滚动位置,它会从你已经滚动的点开始滚动已滚动。