Grosses Problem mit Align = alTop Verständnis
-
Gruss.
Ich möchte in meinem Formular auf der linken Seite eine Toolbar hochkannt palzieren Align = alLeft; mit Width = 30;
Mein Problem ist es jetzt das ich mehrere TPanels übereinander danabenstellen möchte mit Align = alTop;
Nur wenn ich das mache, rutscht die Linke Toolbar immer nach unten, weil die alTop die komplette Breite des Formulars für sich beansprucht.
Gibt es da einen Trick?
-
rechtsklick auf komponente und dann nach hinten schieben oder so evtl?
schick mal rüber(cpp.h.dfm nicht mehr)
king-fred@web.dehattest auch das problem mit der datenbank
MODS/ADMINS einaml hier bitte nen beitrag löschen und im forum winapi 3 von den vieren

danke
-
Du musst die Panels auf einem weiteren Panel platzieren.
Also erst zwei Panels:
1. Links alLeft
2. Rechts alClientAuf das rechte Panel dann den Rest übereinander.
Gruß,
Alexander
-
Sorry wegen Doppelpost irgendwie war das Baord weg dann wieder da und wieder weg .
@Alexander Kempf
Ah, so einfach die Lösung. Danke!
-
Ich habe das mal ausprobrobiert.
Am Align ist ja das gute, das wenn man die Formulargrösse ändert, es sich dieser anpasst.
Ich habe jetzt links ein TPanel mit Align=left und daneben eines mit Align=Right und zusätzlich bei diesem einen Anchors auf Left und Top gesetzt. Technisch sollte das linke Panel dann ja immer die ganze Breite einnehmen. Macht es aber leider nicht. Die Anchors werden in CBuilder5 zusammen mit Align wohl nicht akzeptiert, denn zwischen den beiden Panels klafft bei Vergrösserung des Formulars eine riesengrosse Lücke.

-
Alexander Kempf schrieb:
Rechts alClient
-
Lies Dir nochmal meinen Beitrag durch.
Gruß,
Alexander
Edit: oder so...(Jansen war schneller)
-
Ich habe mich wohl unklar ausgedrückt, sorry. (zum Verständis weicht es ein wenig von meiner vorherigen Variante ab)
linkes Panel align=left
rechtes Panel align=left mit restlicher Breite des Formulars.in das rechte Panel packe ich nun die Komponenten mit align=top.
Soweit sogut und nun zurück zu meinem geschildertem Problem.Wenn man jetzt das Formular zur Laufzeit vergrössert, bleibt das linke Panel in seiner Breite gleich, wodurch ein immer grösser werdender Leerraum entsteht.
Ich denke mal das man dies mit OnResize abfangen muss. Schade das man das nicht automatisch regeln kann.
-
Jetzt habe ich den Code vergessen *in eigenen Hintern tret*
void __fastcall TForm1::FormResize(TObject *Sender) { Panel2->Width = ClientWidth - Panel1->Width; }Das wäre die einzigste Lösung, die mir einfallen würde.
-
Ehrlich gesagt verstehe ich nicht ganz, was Du eigentlich machen willst.
Du hast links eine Art Toolbar, daneben einen Stapel von irgendwelchen Komponenten.
Was soll sich bei Größenänderung der Form mitändern und was soll festbleiben?Gruß,
Alexander
-
mutzelbär schrieb:
rechtes Panel align=left mit restlicher Breite des Formulars.
alClient alClient alClient alClient alClient
-
@Jansen
*sich in Ecke verkriech* ähm, ich wollt euch nur testen, ob ihr selber drauf kommt. *hust* *hust*
Danke