delphi - 我可以即时更改控件布局吗?

标签 delphi vcl

有没有办法将窗口或对话框从垂直布局更改为水平布局?

例如从这里(又窄又高的窗口)

A: -------  
B: -------  
C: --------  
D: --------  

到此(方形窗口)

A:-------- C:-------
B:-------- D:--------

到此(宽窗口)。

A:------ B:------- C:-------- D:---------

当我调整窗口大小时? A、B、C、D 是编辑框或组合框等

显然,我可以使用具有 3 个(或更多)页面和不可见选项卡的页面控件,并在这些页面之间进行交替,但我希望在不进行此类重复的情况下执行此操作。

我希望有一个不需要我编写代​​码的解决方案。

最佳答案

此示例使用 TFlowPanel。它被添加到表单中,并将 Align 设置为 alClient。将四个 TEdit 控件添加到 TFlowPanel 中。调整表单大小时,它们会自动按照您所描述的方式重新对齐。

enter image description here

enter image description here

enter image description here

enter image description here

更改 FlowStyle 属性允许您自定义布局行为。上面显示了默认的 fsLeftRightTopBottom 给出:

 A:-------- B:-------
 C:-------- D:--------

在方形窗口中。但是,使用 fsTopBottomLeftRight 将为您提供问题中的布局。

 A:-------- C:-------
 B:-------- D:--------

关于delphi - 我可以即时更改控件布局吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44137346/

相关文章:

Delphi - 什么对象(多维数组等)可以工作?

delphi - 使用的 DCPcrypt 加密和哈希算法

multithreading - 将字符串数据从线程发送到主窗体

c++ - 如何混合 std::stream 和 Delphi TStream?

sql - TADOTable——可以用于插入吗?

delphi - 嵌套异常的正确方法是什么? -使用Delphi

delphi - 在 TWinControl 类上添加属性

delphi - 使用 Devexpress VCL 13.1.2 时出现 Stackoverflow 错误(无限循环)

delphi - Stringgrid 自动换行显示文本两次

delphi - Graphics32 用阴影图案填充多边形