![]() |
Schriftgröße eines Labels abhängig von Länge?
Hi,
ich habe für mein StreamZ eine Vollbildfunktion geplant welche den aktuellen Titel ganz groß anzeigen soll, damit man auch aus Entfernung den Titel sehen kann. Aber wie mache ich das, dass der Titel so groß ist wie bei der Länge des Titelnamens und der Auflösung des Monitors möglich ist, damit man alles sieht? Also der Titel soll nur auf einer Zeile sein. Weiß einer wie das geht? MFG Lars Wiltfang |
Re: Schriftgröße eines Labels abhängig von Länge?
Benutze Canvas.TextWidth und fahre die Font-Size solange herunter bis die Länge kleiner als die Bildschirmbreite ist, wobei Du bei einer Font-Größe schluss machen solltest :)
|
Re: Schriftgröße eines Labels abhängig von Länge?
Muss ich den Text dann auch über Canvas schreiben? Ich hab das jetzt nämlich mit einem Label gemacht.
|
Re: Schriftgröße eines Labels abhängig von Länge?
Nein. Aber das Label benutzt den Canvas um sich selbst zu zeichnen. Daher kannst du den selben Canvas benutzen um zu messen welche Schriftgrösse du benutzen musst.
|
Re: Schriftgröße eines Labels abhängig von Länge?
Delphi-Quellcode:
So gehts schonmal nicht. Es wird viel zu groß gezeichnet man sieht nur 2 Buchstaben auf dem Formular. Wie muss das richtig heißen?
label2.font.size := label2.Canvas.TextWidth(label2.caption);
|
Re: Schriftgröße eines Labels abhängig von Länge?
Du brauchst ne For-Schleife, die font.size so lange verkleinert, bis die gewünschte Größe erreicht ist.
|
Re: Schriftgröße eines Labels abhängig von Länge?
Pseudo-Code -- aber eigentlich ist das genau das, was ich oben schon mit Worten erklärt habe -- wie Du auf Deinen Ansatz kommst, ist mir tatsächlich ein Rätsel:
Delphi-Quellcode:
Viele Grüße
MaxBreite := ...; // Von Dir zu ermitteln bzw. zu belegen
while (Label1.Canvas.TextWidth(DeinText) > MaxBreite) and (Label1.Font.Size > 2) do Label1.Font.Size := Label1.Font.Size - 1; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 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