gpt4 book ai didi

delphi - 平移时如何获取 TScrollBox 在 TLayout 中的位置?

转载 作者:行者123 更新时间:2023-12-02 02:52:42 27 4
gpt4 key购买 nike

我正在使用父 FMX.Layouts.TScrollBox 来缩放和平移子 TLayout。一旦 TLayout 大于 TScrollBox,就可以进行平移。

我想要 TScrollBox 的(左上角)位置 (image) .

查看 TScrollBox 和 TLayout 属性,我找不到适合我的位置(尝试了很多)。还有其他方法可以做到这一点,但对我来说这似乎是标准的,应该(?)包含在基类中。

PS:对于平移,我使用 TScrollBox.AniCalculations 但我认为这并不重要/有帮助。

最佳答案

要读取位置,请使用 TScrollBoxViewportPosition 属性。它是一个 TPointF,描述如下:

Coordinates of the origin of the scrolling viewport specified as the offset from the origin of the content layout of this scroll box.

documented here

如果您在平移期间需要事件,请使用 TPositionChangeEvent() 类型的 OnViewportPositionChange() 事件它没有正确记录,但声明为:

TPositionChangeEvent = procedure (Sender: TObject;
const OldViewportPosition, NewViewportPosition: TPointF;
const ContentSizeChanged: Boolean) of object;

应该是不言自明的

或者 OnHScrollChange() 和/或 TNotifyEvent 类型的 OnVScrollChange()

关于delphi - 平移时如何获取 TScrollBox 在 TLayout 中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50798027/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com