![]() |
Label soll immer in der Mitte sein
Hi,
Ich will einen Link mit einem label machen. Ich will, dass das Label1 immer in der mitte sein soll. Beim Programmstart wird dem label1 ein wert zugewiesen. Das Problem ist, wenn der Wert zu lange ist, steht das label1 zu weit links. Ich bekomme das irgendwie net hin. Ich habe schon probiert AutoSize auf False zu setzen und dann bei Alignment auf taCenter aber das Funktioniert net. Wenn ich das Label1 so mache, das es die Breite nicht ändert, dann kann man das label sogar da anklicken, wo nix steht. Gibt es ne möglichkeit das richtig zu machn ? MFG |
Re: Label soll immer in der Mitte sein
Moin Äfan,
Du könntest AutoSize auf True setzen, und dann die Eigenschaft Left anpassen, um die Position zu zentrieren. |
Re: Label soll immer in der Mitte sein
Dann is das label aber net in der mitte :gruebel:
|
Re: Label soll immer in der Mitte sein
Geht sicher eleganter aber:
Delphi-Quellcode:
Alternativ statt Form1.Width Form1.ClientWidth etc. Das dann in alle notwendigen Events.
Label1.Left := Form1.Width div 2 - Label1.Width div 2;
Label1.Tip := Form1.Height div 2 - Label1.Height div 2; |
Re: Label soll immer in der Mitte sein
"Autosize" auf "false"
und "Alignment" auf "taCenter", dann nur noch das Label auf die gewünschte Größe ziehen :) [edit] Das hattest du ja schon.. Dann müsstest du die Breite des Labels mit dem Form-Resize anpassen.. Aber was willst du eigentlich? Der Text steht ja schon in der Mitte! [/edit] |
Re: Label soll immer in der Mitte sein
Moin!
1. Label positionieren 2. AutoSize ist ja egal, da der Text ja nicht geändert wird 3. Anchors abändern auf akLeft, akRight und dann abhängig ob das Label beim Resize sich an den unteren Rand orientieren soll (akBottom) oder an den oberen Rand (akTop) noch angeben. Kein Code nötig. MfG Muetze1 |
Re: Label soll immer in der Mitte sein
@StanY: Also mit Label1.Left := Form1.Width div 2 - Label1.Width div 2; gehts. Is zwar nicht ganz in der mitte, aber das war mein fehler. Das label befindet sich nähmlich in ner PageControl, also Page1.Width. Jetzt passt es wie angegossen. :thumb:
Zitat:
Zitat:
|
Re: Label soll immer in der Mitte sein
Moin!
Zitat:
Dann schalte AutoSize aus und hör auf zu brüllen! M_G Muetze1 |
Re: Label soll immer in der Mitte sein
Hi,
so wie das verstanden habe, willst du, dass das Label genau in der Mitte auf der sitzt. 1. Autosize --> False //Damit sich die Größe nicht verändert 2. Label in die gewünschte Größe bringen, evt. Alignment auf taCenter stellen. 3. Rechtsklick auf Label --> Position --> Ausrichten --> unter Horizontal auf Im Fenster zentrieren / unter Vertikal auf Im Fenster zentrieren. Und voilà, schon hast du dein Label ganz genau in der Mitte. :wink: MfG Marc |
Re: Label soll immer in der Mitte sein
Zitat:
@Chegga: Naja, eben da is das Problem. Wenn mein Prog startet, wir dem Label ein Text zugewiesen, der aus dem internet geladen wird. Daher geht das mit AutoSize=False nicht und Rechtsklick geht ja net zur laufzeit. Das muss alles automatisch nach programmstart gehen. Mit StanY's Methode is es perfekt und geht so, wie es sein soll. thanks Besonders @Muetzel: MFG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 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