AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Panles und deren Alignments

Ein Thema von Jazzman_Marburg · begonnen am 20. Apr 2011 · letzter Beitrag vom 20. Apr 2011
Antwort Antwort
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

Panles und deren Alignments

  Alt 20. Apr 2011, 17:45
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
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Benutzerbild von borncrush
borncrush

Registriert seit: 18. Dez 2005
Ort: Berlin
115 Beiträge
 
Delphi XE7 Enterprise
 
#2

AW: Panles und deren Alignments

  Alt 20. Apr 2011, 17:47
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..

Geändert von borncrush (20. Apr 2011 um 17:53 Uhr)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

AW: Panles und deren Alignments

  Alt 20. Apr 2011, 18:23
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.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#4

AW: Panles und deren Alignments

  Alt 20. Apr 2011, 18:55
allgemeine (goldene) Regeln für Property Align...
Sau stark!
Diese Regeln kann sogar ich mir merken -- und die Suche nach einer anderen Lösung hat eine Ende.

Vielen, vielen Dank!

Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Panles und deren Alignments

  Alt 20. Apr 2011, 19:42
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 Delphi-Referenz durchsuchenOnAlignPosition ausgelöst. Dort kann man Position und Größe des Kind-Elements anpassen.

Steve Trefethen hat ein Demo-Programm erstellt, das die Verwendung erklärt.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz