【发布时间】:2016-08-13 16:32:05
【问题描述】:
我在 ScrollBox 中有 6 个 RichEdit 控件。它们需要从上到下依次左对齐,但我需要宽度不固定,所以当文本长度超过 ScrollBox 宽度时,我可以使用滚动条滚动查看全文。
如果我设置:
RichEdit1.Align := alTop;
RichEdit2.Align := alTop;
RichEdit3.Align := alTop;
RichEdit4.Align := alTop;
RichEdit5.Align := alTop;
RichEdit6.Align := alTop;
它们完美对齐并在设计中保持固定,因此不会意外移动它们,但宽度固定。不好。
如果我手动对齐它们,那么点击它们时它们是不固定的,可以移动,我需要一直重新排列。烦人。
图片显示在所有带有 Align = alTop 且宽度固定为 ScrollBox 宽度的 RichEdits 顶部。 下面的例子是所有 RichEdits 的手动对齐,宽度可以超出 ScrollBox 的宽度,但它们可以在设计中移动:
所以,我想让它们像 alTop 一样固定在左侧,顶部,但不固定宽度。我怎样才能做到这一点?
【问题讨论】:
-
您可以通过菜单项 Edit - Lock Controls 一旦正确放置组件来防止组件意外移动。
-
寻找 alTop 对齐的级别,但对宽度不严格。是的,因此它们被锁定在设计中并在运行时保持一致。
-
使用
Align = alTop将宽度固定到父级。 -
@TomBrunberg 没错!我需要让它们像 alTop 一样对齐顶部和左侧,但不是固定宽度 - RichEdit 的宽度,而不是父级。由于父级是 ScrollBox,它会在 RichEdit 的宽度超出 ScrollBox 的宽度时显示水平滚动条。
-
是的,我明白了你的目标,但不幸的是没有像
alTop这样的东西,而不是将宽度固定为父级的宽度。正确放置后锁定控件,并考虑到@Jerry 提出的观点,IMO 仍然是您能做的最好的事情。
标签: delphi alignment controls delphi-10.1-berlin