ScrollBox不会滚动

时间:2015-05-24 01:37:32

标签: delphi firemonkey delphi-xe7

我有一个ScrollBox对象,我在其中插入了一些对象:align:= TalignLayout.Bottom和parent:= scrollbox,对象插入成功但滚动框不滚动或显示ScrollBars,任何类型的帮助都将非常感谢,感谢您的关注

1 个答案:

答案 0 :(得分:8)

滚动条显示其内容的视图,其中该内容可能大于滚动框本身的可视区域所包含的区域。所以,例如:

enter image description here

如果在上面的图像中,黑色矩形是滚动框,绿色矩形是内容的范围,则滚动框将允许用户使用滚动条(蓝色)将内容的下半部分滚动到视图中。 / p>

如果滚动此内容以便某些内容现在不在" top"滚动框的一些仍然延伸到"底部"然后你最终得到:

enter image description here

滚动条设置为自动,只要滚动条的可见区域上方或下方有内容,就会显示滚动条以允许滚动。

但是,如果内容完全包含在滚动框中,则没有要滚动的内容,因此没有滚动条。关键的事实是,对齐是相对于滚动框的可见区域。因此,例如,如果所有内容都与滚动框的顶部对齐(并且没有延伸到底部之外):

enter image description here

在您的情况下,通过将对齐设置为底部,您可以确保将内容定位为使其与可见区域的底部对齐。滚动框:

enter image description here

需要重申的是,为了对齐目的,滚动框的底部是该滚动框的可见区域的底部,而不是任何"虚拟区域的底部&# 34;超出了滚动框本身。

使用滚动条时,您应该将该滚动框的内容视为绝对定位。任何使用相对定位的尝试都会导致动态调整,并且可能会遇到问题,因为滚动条本身会尝试动态调整以适应任何内容。

如果您的布局需要相对于其他项目需要底部对齐,那么您可以为这些项目创建一个特定的容器。

在这种情况下,例如,您可以将单个面板作为滚动框中的项目。然后,您的项目可以与该面板的底部对齐,在运行时根据所需的额外空间量确定(和设置)面板的大小"以上"那些底部对齐的控件。

enter image description here

滚动框然后会将面板(灰色项目)显示为可滚动,而底部对齐则会处理该面板中项目的布局。