Delphi:分割器只调整它分割的2个窗格

时间:2014-08-02 13:17:25

标签: delphi splitter

我连续有4个面板,中间有3个分割器。第1 /第2 /第3个窗格:align=alLeft,第4个窗格:align=alClient

[1] | [2] | [3] | [4]

现在用户想要那个

  • 拆分器1仅调整面板1和2的大小(不要触摸其他面板;现在它移动面板3/4)
  • 拆分器2仅调整面板2和3(不要触摸其他面板;现在移动面板4)

如何做到这一点,要处理哪些事件(当然TSplitter.OnMoved)以及如何处理它们?也许不要像现在一样设置Align

1 个答案:

答案 0 :(得分:7)

假设Splitter 3(最后一个)只改变Panel 3和4,可以通过一些嵌套来完成:

  1. 顶级有PanelA(alLeft),Splitter3(alLeft),Panel4(alClient)。
  2. PanelA包含PanelB(alLeft),Splitter2(alLeft),Panel3(alClient)。
  3. PanelB包含Panel1(alLeft),Splitter1(alLeft),Panel2(alClient)。