FMX firemonkey 如何在运行时滚动垂直滚动框

问题描述 投票:0回答:4

有人可以帮助我如何在运行时滚动firemonkey中的垂直滚动条,有一个属性scrollby,但它不起作用,我没有任何想法如何解决它。

谢谢

delphi scrollbar firemonkey
4个回答
3
投票

FMX 中没有独立的垂直滚动条组件。然而,有几个滚动框组件。

TVertScrollbox
(VSB) 就是其中之一。如果您使用它,您可以安全地设置
VSB.Align := TAlignlayout.Client
。 VSB 永远不会自行滚动!仅当内容超出 VSB 的垂直尺寸时才会滚动内容。

您可以在VSB上放一个

TLayout
,然后将其对齐到
VertCenter
,然后将
Height
对准
VSB.Height * 2
。在运行时,将出现垂直滚动条,您将能够上下滚动布局。之后,您可以通过调用VSB的
Scrollby
ViewPortPosition
方法来调整布局在屏幕上的位置。


1
投票

使用

TScrollBox
套件
TAlignlayout.Client
然后将组件放入
Tscrollbox
中并设置它们
TAlignlayout.top
并完成!当内容超出垂直尺寸时,就会出现滚动。


0
投票

在delphi和FMX中的C++ Builder中你可以使用ScrollBy(int, int);移动滚动条

示例:

      this->ScrollBox->ScrollBy(0, - this->ScrollBox->Width);

我使用了负值,因为这将使滚动在预填充项目后向下移动。


0
投票

这对我在 delphi 12.2 上有用

VertScrollBox1.ScrollTo(0,VertScrollBox1.Height);

VertScrollBox1.ViewportPosition := PointF(VertScrollBox1.ViewportPosition.X,VertScrollBox1.ContentBounds.Height - VertScrollBox1.Height);

© www.soinside.com 2019 - 2024. All rights reserved.