AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

falsche Anordnung von TPanels

Ein Thema von Geri · begonnen am 3. Jun 2025 · letzter Beitrag vom 13. Jun 2025
 
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.785 Beiträge
 
Delphi 12 Athens
 
#34

AW: falsche Anordnung von TPanels

  Alt 13. Jun 2025, 10:07
Die Anzeigeposition wird durch den Top-Wert (Position.Y) bestimmt. Beim sichtbar machen bzw. setzen der Height auf einen höheren Wert ist aber die Reihenfolge der Controls wichtig, da diese das Align beeinflusst.

Beispiel: Panel1, Panel2, Panel2 sind untereinander angeordnet und liegen auch in dieser Control-Reihenfolge vor. Nun wird Panel2.Height auf 0 gesetzt. Damit bekommt Panel3 dieselbe Top-Position wie Panel2. Beim Align werden die Panels von 1 bis 3 angeordnet und somit liegt Panel2 immer noch vor Panel3.

Wäre die Reihenfolge Panel1, Panel3, Panel2 dann verschiebt sich Panel3 vor Panel2, sobald Panel2 eine Height von 0 bekommt. Ab dann kann es ohne weitere Maßnahmen nicht mehr heilen.

Also, Vorrang hat die Top-Position, aber bei gleichen Werten wird die Control-Order beachtet.

Dein ursprüngliches Beispiel sah kein Vertauschen der Controls vor. Daher wurde das da auch nicht berücksichtigt.

Das Swap-Controls muss also neben der Control-Order auch die Top-Position vertauschen damit das wieder richtig aussieht. Das ganze sollte dann auch in ein DisableAlign/EnableAlign gekapselt werden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:59 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