Hi,
ich habe ein AdvPageControl und ein AdvSmoothPanel in ein größeres AdvSmoothPanel eingefügt. Die Width-Properties werden mit dem Code:
Code:
procedure TForm13.FormResize(Sender: TObject);
begin
PageControl.Width:=round(0.475*AdvSmoothPanel1.Width);
PageControl.TabWidth:=(PageControl.Width div 2)-2; //rechts im AdvSmoothPanel1 angeordnet
AdvSmoothPanel2.Width:=round(0.43*AdvSmoothPanel1.Width); //links im AdvSmoothPanel1 angeordnet
end;
automatisch skaliert. Für die Anchors sind folgende Werte (per Objekinspektor) gesetzt wurden:
Code:
AdvSmoothPanel1.Anchors:=[akLeft,akRight,akTop,akBottom];
AdvSmoothPanel2.Anchors:=[akRight,akTop,akBottom];
PageControl.Anchors:=[akLeft,akTop,akBottom];
Wenn ich im compilierten Programm die Größe des Fensters an der rechten Seite durch Ziehen ändere, werden zwar die Breiten vom PageControl und AdvSmoothPanel2 wie gewünscht angepasst, jedoch bleibt bei der Vergößerung der Elemente die linke Seite fest und die Vergrößerung erfolgt nach rechts. Die Anchors werden aber bei dem rechts angeordneten AdvSmoothPanel2 nicht dynamisch an die neuen Maße angepasst, sodass die Vergrößerung des AdvSmoothPanel2 im rechten Rand des AdvSmoothPanel1 verschwindet, statt dass der rechte Abstand konstant bleibt und die Vergrößerung entsprechend nach links erfolgt. Dadurch wird die Lücke zwischen den nebeneinander angeordneten AdvPageControl und AdvSmoothPanel2 unproportional größer und ein Teil des AdvSmoothPanel2 wie gesagt rechts abgeschnitten. Den linken Anchor des AdvSmoothPanel2 kann ich aber auch nicht setzen, da es durch die Skalierung der links daneben angeordneten AdvPageControl dann zu Überlagerungen kommt.
Habt ihr irgendeine Idee, wie man dieses Problem der dynamischen Anpassung ändern kann?
Danke, Transition