![]() |
Panles und deren Alignments
Hallo zusammen,
ich habe mir gerade einen Wolf zu diesem Thema gesucht und eine Mange Fragen dazu gefunden, aber mit den Antworten kam ich nicht ganz klar: Auf einer Form habe ich zwei Panels. Panel A hat Align := alLeft. Das Align von Panel B setze ich auf alBottom. Das Problem ist nun, dass sich das Panel B mal unter das Panel A und mal über das Panel A schiebt und die komplette Breite der Form einnimmt -- statt wie gewünscht bis zum Panel A zu gehen. Steckt da irgendeine Logik dahinter? Sowas wie eine Z-Order, die bestimmt, wie weit sich das Alignment auswirkt? Main Problem ist, dass ich schwören könnte, es mal so hinbekommen zu haben -- nun aber seit 2 Stunden erfolglos im Objektinspektor rumfummle. Die Anchors könnten vielleicht helfen -- aber deren Wirkung ist mir auch eher schleierhaft. Ich möchte zunächst kein drittes Panel benutzen -- es muß doch eine Möglichkeit geben, dem Panel B zu sagen, "Dein alBottom geht nur bis zum Panel A" -- ohne unten oder oben drüber. Habt ihr wohl eine Idee? Lieben Dank & Gruß Jazzman |
AW: Panles und deren Alignments
Bin mir grad unsicher, aber ich meine es gibt irgendwo eine CreationOrder.
Edit: Doch nicht :(. Zwar gibt es sowas, aber diese bezieht sich auf non-visual-comp.. |
AW: Panles und deren Alignments
allgemeine (goldene) Regeln für Property Align
Du kannst grundsätzlich nur 2 Panels (oder andere Controls) auf einem Parent korrekt platzieren. Eines der beiden Controls muss Align=alClient und das andere muss alLeft, alTop, alRight, alBottom haben. Das bedeutet, ein Control klebt an linken,oberen, rechten oder unteren Rand während das andere Control sich der restlichen Fläche des Formulars anpasst. Rein logisch und geometrisch muss das so sein!!! Also für dein Beispiel: Panel A Align := alLeft Panel B Align := alClient Damit man das Flächenverhältnis der beiden Controls frei ändern kann, empfiehlt es sich einen Splitter zwischen die beiden Controls zu setzen. Ich setze die Farbe eines Splitters immer auf clBlue und die Breite bzw. Höhe auf 4 Pixel, damit man den Splitter gut sieht und leicht "greifen" kann. Bei 3 und mehr Panels Es gelten die Regeln von oben; d.h. man muss Panel A und B wiederum auf einem eigenen Hilfs-Panel AB platzieren, damit man diese zusammen mit Panel C platzieren kann. Sollte man auf die Idee kommen wie folgt zu platzieren: Panel A Align := alTop Panel B Align := alTop Panel C Align := alClient dann können sich die Positionen von Panel A und B unkontrolliert ändern. Man braucht also immer Hilfpanel (oder unsichtbare Panels) um alles richtig zu machen. |
AW: Panles und deren Alignments
Zitat:
Diese Regeln kann sogar ich mir merken -- und die Suche nach einer anderen Lösung hat eine Ende. Vielen, vielen Dank! :thumb: Gruß Jazzman |
AW: Panles und deren Alignments
Hallo,
mit Delphi 6 wurden die Align-Möglichkeiten erweitert: alCustom. Wenn man ein Element mit dieser Ausrichtung kennzeichnet, wird beim übergeordneten Element das Ereignis ![]() Steve Trefethen hat ein ![]() Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz