我使用父FMX.Layouts.TScrollBox来缩放和平移子TLayout。一旦TLayout变得比TScrollBox大,就可以进行平移。
我喜欢TScrollBox 的(左上角)位置。
查看TScrollBox& TLayout属性我找不到适合我的位置(尝试了很多)。还有其他方法可以做到,但它对我来说似乎是标准的,应该(?)包含在基类中。
PS:对于平移我使用TScrollBox.AniCalculations但我不认为这很重要/有帮助。
答案 0 :(得分:2)
要阅读该位置,请使用ViewportPosition
的{{1}}属性。它是TScrollBox
,被描述为:
滚动视口原点的坐标,指定为此滚动框内容布局原点的偏移量。
如果您在平移期间需要活动,请使用TPointF
类型的OnViewportPositionChange()
事件
它没有正确记录,但声明为:
TPositionChangeEvent()
应该是非常自我解释
TPositionChangeEvent = procedure (Sender: TObject;
const OldViewportPosition, NewViewportPosition: TPointF;
const ContentSizeChanged: Boolean) of object;
和/或OnHScrollChange()
类型OnVScrollChange()