![]() |
Statusbar bleibt nicht alBottom
Moin,
ich habe ein Fenster, in dem verschiedene Panels und ein Statusbar angeordnet sind. Das Panel über dem Statusbar ist auch alBottom, weil es beim Resize dieselbe Höhe behalten soll. Der Statusbar wird gelegentlich über dem Panel gezeichnet. Das hängt von der Auflösung und dem Format des Bildschirms und anderen unbekannten Parametern ab (Mondphasen? Rohölpreise?) ab. Ich habe bisher noch keine andere Lösung gefunden, das benachbarte Panel anders zu platzieren. Hat jemand ein wenig Klebstoff für meinen Statusbar? Danke, Messie |
Re: Statusbar bleibt nicht alBottom
Delphi-Quellcode:
sollte gehen
procedure TForm1.FormCreate(Sender: TObject);
begin statusbar1.Align := albottom; panel1.Align := albottom; panel1.Align := alnone; end;
Delphi-Quellcode:
sollte auch gehen, vorrausgesetzt ich hab die frage verstanden! :-D
procedure TForm1.FormCreate(Sender: TObject);
begin statusbar1.Align := albottom; panel1.width := clientwidth; panel1.Height := wasauchimmergewünschtist; panel1.Top := clientheight - panel1.Height - statusbar1.Height; end; |
Re: Statusbar bleibt nicht alBottom
Zitat:
|
Re: Statusbar bleibt nicht alBottom
@ khh
damit wird erst das panel nach unten geschoben und dann wird es wieder losgelassen, damit die Statusbar nach unten darf! ob es ohne alnone setzen geht weiß ich nicht!:pale: |
Re: Statusbar bleibt nicht alBottom
Zitat:
|
Re: Statusbar bleibt nicht alBottom
Wenn du es auf alNone setzt, ist es wohl klar das es nicht mehr alBottom ist :zwinker:
|
Re: Statusbar bleibt nicht alBottom
Zitat:
|
Re: Statusbar bleibt nicht alBottom
Er möchte ja eine Anordnung am unteren Rand. Vielleicht umgekehrt
|
Re: Statusbar bleibt nicht alBottom
Zitat:
mh, ich bin immer davon ausgegangen, dass diese Zuweisungen zur Laufzeit den Wert der variablen "einstellen". Wenn ich das recht verstehe, meint er aber mit zwei Zuweisungen werden beim create beide ausgeführt!. also erst alBottom und dann alNone das kommt mir spanisch vor. |
Re: Statusbar bleibt nicht alBottom
Zitat:
Zitat:
Grüße, Messie |
Re: Statusbar bleibt nicht alBottom
Mach bitte mal 'n Screenshot (bitte nicht als Bitmap) von deiner Form und hänge es hier als Anhang dran.
|
Re: Statusbar bleibt nicht alBottom
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Grüße, Messie |
Re: Statusbar bleibt nicht alBottom
Die beiden Panels in ein neues Panel mit fester Höhe packen.
Der der immer ganz unten sein soll alBottom. Den anderen alClient. ...oder hab ich was missverstanden? |
Re: Statusbar bleibt nicht alBottom
Hallo!
Das passiert (u.a. ??) , wenn man die Größe eines anderen alBottom Objekts zur Laufzeit verändert. Habe nun unmittelbar nach der Veränderung folgendes ergänzt: ListViewGraphObjects.Align := alNone; ListViewGraphObjects.Align := alBottom; Gibt es dafür auch eine saubere Lösung? |
Re: Statusbar bleibt nicht alBottom
Einen Wechsel auf alNone zur Laufzeit würde bei mir nicht gehen, weil dann sofort ein anderes Element nachrücken würde. Das halte ich auch für riskant.
Eine wirklich saubere Lösung habe ich auch noch nicht gefunden. Mir ist die Reihenfolge der Platzierung zur Laufzeit auch noch nicht klar. Grüße, Messie |
Reihenfolge des Platzierens von Grafischen Elementen
So,
ich will das mal wieder hochbringen, weil mir die Systematik des Fensteraufbaus immer noch nicht klar ist. Mir ist das mal wieder auf die Füße gefallen: aus einem anderen Formular, wo alle Elemente ihre Position halten, einfach alles rauskopiert, in ein neues Formular gepastet und schon verschieben sich die Elemente, wenn ich einmal kurz am visible eines einzelnen Elements rumdrehe. :wall: Grüße, Messie |
Re: Statusbar bleibt nicht alBottom
Für die Prioritäten bei gleicher Ausrichtung ist auch die Erstellungsreihenfolge wichtig. Die kann sich bei Copy&Paste natürlich ändern. Die kann man bei RechtsKlick auf übergeordnetes Control ändern.
Zwei Elemente mit gleicher Ausrichtung in einem Control ist aber immer etwas Spielerei. Da wurde eine einfache Lösung im Thread schon benannt. Wenn man z.B. zwei Panels hat, die beie alBottom ausgerichtet werden sollen, dürfen die nicht den gleichen Parent haben. Panel_1 alBottom aufs Formular Panel_2 alClient aufs Formular (ohne Border) Panel_3 alBottom auf Panel_2 Da ich in Delphi5 lange die StatusBar durch eine Collection von Panels simuliert hab', bin ich so immer am sichersten gefahren. |
Re: Statusbar bleibt nicht alBottom
Danke für den Tipp, werde ich morgen mal ausprobieren. Ich kann noch nicht sagen, ob das genauso funktioniert, weil ich Elemente der Tnt-Components bzw. deren Erben in Alphaskins verwende.
Grüße, Messie |
Re: Statusbar bleibt nicht alBottom
Als ich das mal gemacht habe (zur Einblendung eines Hinweisfensters), habe ich schlicht Top auf einen Wert über dem anderen Element gesetzt, dann wurde es darüber plaziert. So musste ich Align nie zur Laufzeit verändern.
Die sauberere (und allgemeinere) Lösung ist aber sicher die mit dem Panel als Container. |
Re: Statusbar bleibt nicht alBottom
Zitat:
Eine Festlegung der Erstellungsreihenfolge habe ich nicht gefunden. Die gilt nur für die nicht-visuellen Kompos. Grüße, Messie |
Re: Statusbar bleibt nicht alBottom
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 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