ScrollBox不会滚动

use*_*161 0 delphi firemonkey delphi-xe7

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

Del*_*ics 8

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

在此输入图像描述

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

如果滚动此内容以使某些内容现在不在滚动框的"顶部",而某些内容仍然超出"底部",那么您最终会:

在此输入图像描述

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

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

在此输入图像描述

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

在此输入图像描述

需要重申的是,为了对齐目的,滚动框的底部是该滚动框的可见区域的底部,而不是延伸到滚动框本身之外的任何"虚拟区域"的底部.

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

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

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

在此输入图像描述

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