Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

Größe eines Label mit WordWrap richtig definieren

  Alt 26. Mai 2012, 19:00
Hallo,

ich hab grad ein kleines Problem.

Anbei ein Bild einer Form. Dort ist ein Label names "Label_MSGText" drauf.
Dieses Label bekommt programmseitig verschieden lange Texte, in verschiedenen Schriftgrößen und auch in verschiedenen Sprachen.

Nun möchte ich dass sich die Breite der Form soweit verändert, bis entweder der Text zu Ende ist / des Label-Ende erreicht ist oder, wenn der Text länger ist, eine maximale Breite der Form erreicht wird und dann das Label mehrere Zeilen haben soll.

Eigentlich ist das kein Problem mit den Property "AutoSize" und "WordWrap".
Ich dachte auch noch, wenn ich Anchors auf akRight dass sich dann das Label mit vergrößert wenn ich die Form vergrößere.
Aber irgendwie macht die das nicht wirklich.

Ich wollt das zuvor so machen (Anchors = akRight nicht gesetzt):
Ich lasse WordWrap ausgeschaltet, schreib dann den Text ins Label. Lese mir danach die Höhe und Breite des Labels aus. Wenn die Breite des Labels plus Left des Labels größer ist als die Breite der Form, dann wird die Form verbreitert. Ist die max. erlaubte Breite erreicht, so wird WordWrap des Labels eingeschaltet und die akt. Höhe des Labels ausgelesen. Um die Differenz der zuerst ermittelten Höhe und der akt. Höhe des Labels wird die Form erhöht. Somit habe ich immer die gleichen Abstände etc.
Aber irgendwie scheint das Label es nicht zu wollen, dass man WordWrap ein- und ausschaltet und reagiert dementsprechend nicht (mehr) darauf.

Jetzt meine Frage: Wie könnte ich das am Besten hinbekommen?
(Die Progressbar und das gelbe Image mal aussen vor lassen)
Miniaturansicht angehängter Grafiken
message.jpg  
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat