我有一个THorzScrollBox
的形式,有的TStyledControls
内。 每个StyledControl
有一个Tag
来识别。 使用TEdit
通知的值,我能找到里面ScrollBox
的具体Control
他的tag
。
如果control
我搜索是不是在屏幕上,我要滚动的ScrollBox
来显示它。
我怎样才能做到这一点编程?
我有一个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
,它不会重置滚动位置,它会从你已经滚动了滚动点。