Delphi: The splitter only adjusts its 2 panes

I have 4 consecutive panels with 3 splitters in the middle. The 1st / 2nd / 3rd pane: align = alLeft, the 4th pane: align = alClient .

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

Now the user wants, then

>Separator 1 Resize only panels 1 and 2 (don’t touch other panels; now it moves panel 3/4)
>Splitter 2 only resizes panels 2 and 3 (don’t touch other panels; now it moves panel 4)< /p>

How to do it, what events to handle (TSplitter.OnMoved of course) and how to handle them? Maybe don’t set Align as it is now?

Assuming Splitter 3 (the last one) only changes Panel 3 and 4, this can be done through some nesting To complete:

>The top level has PanelA(alLeft), Splitter3(alLeft), Panel4(alClient).> PanelA contains PanelB(alLeft), Splitter2(alLeft), Panel3(alClient).> PanelB contains Panel1(alLeft), Splitter1(alLeft), Panel2(alClient).

I have 4 panels in a row with 3 splitters in the middle. No.1/No. 2 / The third pane: align = alLeft, the fourth pane: align = alClient.

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

Now the user wants, then

>Separator 1 only adjusts the size of panels 1 and 2 (don’t touch the other panels; now it moves panel 3/4)
>Separator 2 Only adjust the size of panels 2 and 3 (don’t touch the other panels; now it moves panel 4)

How to do it, what events to handle (TSplitter.OnMoved of course) and how to handle them? Maybe don’t set Align as it is now?

Assuming that Splitter 3 (the last one) only changes Panel 3 and 4, this can be done with some nesting:

> The top level has PanelA(alLeft), Splitter3(alLeft), Panel4(alClient).> PanelA contains PanelB(alLeft), Splitter2(alLeft), Panel3(alClient).> PanelB contains Panel1(alLeft), Splitter1(alLeft), Panel2(alClient).

Leave a Comment

Your email address will not be published.