Hi MaBuSE
So richtig hülfts leider nicht.
Im Designer ist das schon so wie du es beschreibst und so will ich das auch.
PanelA --> left --> ganz links
PanelB --> left --> rechts daneben
PanelC --> Client --> füllt den Platz rechts neben Panel2
So ist das OK
Nur per Code vehält sich das anders:
PanelA --> Left --> ganz links
PanelB --> Left --> schiebt sich links vor PanelA
PanelC --> Client --> wieder ganz links und füllt die ganze Form, PanelA und B liegen darüber.
Das ist völlig unbrauchbar
Ich habe mal versucht das ControlArray "umzudrehen", bringt leider garnix, keine Änderung.
Um das zu vereinfachen habe ich 2 Panels auf ne Form gepatscht (Designtime), darauf je ein Label zur Erkennung.
Beide DockStyle.Left, links Panel1 rechts daneben Panel2.
Folgender Code sollte die Reihenfolge ändern:
Delphi-Quellcode:
Panel1.Dock:= DockStyle.None;
Panel2.Dock:= DockStyle.None;
Panel1.Left:= 400; // bei D6 hat das noch ne Rolle gespielt für die Reihenfolge
Panel2.Left:= 5;
Panel1.Height:= 200;
Panel2.Height:= 200; // --> bis hier OK
// Reigenfolge tauschen:
Self.Controls.Remove(Panel1);
Self.Controls.Remove(Panel2);
Self.Controls.Add(Panel2);
Self.Controls.Add(Panel1);
//andersrum andocken:
Panel2.Dock:= DockStyle.Left;
Panel1.Dock:= DockStyle.Left;
Ist nix....Diese Conrols.Remove und Add bewirkt garnüscht, jedenfalls nichs bei der Z-Order.
Noch ne Idee?
Gruss
Udo