有人可以帮助我如何在运行时滚动firemonkey中的垂直滚动条,有一个属性scrollby,但它不起作用,我不知道如何解决它。
FMX 中没有独立的垂直滚动条组件。然而,有几个滚动框组件。
TVertScrollbox
(VSB) 就是其中之一。如果您使用它,您可以安全地设置VSB.Align := TAlignlayout.Client
。 VSB 永远不会自行滚动!仅当内容超出 VSB 的垂直尺寸时才会滚动内容。
你可以在VSB上放一个
TLayout
,然后将其对齐到VertCenter
,然后将Height
对准VSB.Height * 2
。在运行时,将出现垂直滚动条,您将能够上下滚动布局。之后,您可以通过调用VSB的Scrollby
和ViewPortPosition
方法来调整布局在屏幕上的位置。
使用
TScrollBox
套件 TAlignlayout.Client
然后将组件放入 Tscrollbox
中并设置它们 TAlignlayout.top
并完成!当内容超出垂直尺寸时,就会出现滚动。
在delphi和FMX中的C++ Builder中你可以使用ScrollBy(int, int);移动滚动条
示例:
this->ScrollBox->ScrollBy(0, - this->ScrollBox->Width);
我使用了负值,因为这将使滚动在预填充项目后向下移动。
这对我在 Delphi 12.2 上有效:
VertScrollBox1.ScrollTo(0,VertScrollBox1.Height);
VertScrollBox1.ViewportPosition := PointF(VertScrollBox1.ViewportPosition.X,VertScrollBox1.ContentBounds.Height - VertScrollBox1.Height);