如何使用两个不同对齐(水平和垂直)的TSplitter?

时间:2009-06-07 18:40:16

标签: delphi splitter

我有一个包含三个部分的表单,我希望允许用户根据需要调整它们的大小

左边有一个部分(占据整个高度),右边有一个部分再次垂直切割成两个部分。见下文:

11 | 22
11 | ---
11个| 33

使用一个分离器非常简单:

Component1.align := alLeft
Splitter1.align := alLeft
Component2.align := alClient

现在,从那开始我完全不知道如何使垂直分离器工作。如果我将我的第二个分离器设置为alTop或alBottom,它会一直到顶部/底部,而不仅仅是在右半部分。

我设法得到这样的东西:

11111
--------
22个|| 33

首先创建垂直分割,然后创建水平分割,但这不起作用。

一种可能的解决方案是使用面板作为我的右侧,然后使用分割器INSIDE这个面板进行垂直分割,但它感觉不是正确的方式。

由于

2 个答案:

答案 0 :(得分:18)

额外的小组是正确的方法。试图在一个ClientArea中有2个分离器只会使Alignment系统过载。此外,额外TPanel的成本非常低。

答案 1 :(得分:1)

放置2个控件。例如2 richedit: - 将两个控件放在同一个面板上。 - 左边有财产'对齐'到了' aleft' - 正确的财产'对齐'到了' alclient' ! - 然后将分离器放在中间。 - 拆分器与alLeft对齐。

对于水平分割器,将分割器对齐属性改为“altop'”。