Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Label Font soll sich an dem Text ausrichten (https://www.delphipraxis.net/159354-label-font-soll-sich-dem-text-ausrichten.html)

eugene222 24. Mär 2011 14:11

Delphi-Version: 5

Label Font soll sich an dem Text ausrichten
 
Hallo, ich schreibe gerade ein kleines Programm. Jedoch hab ich grad ein kleines Problem.
Ich habe 1 Editfeld. Und ein Label. Jetz hab ich das so gemacht, dass wenn man was ins Editfeld schreibt, dies auch im Label angezeigt wird. Das Problem ist nur, dass das Label immer länger wird bis es abgeschnitten wird.

Ich wollte das so lösen, dass sich die Font.Size an eine festgelegte Breite des Labes anpasst und so immer kleiner wird, wenn man mehr schreibt und wieder größer wenn man weniger schreibt. Nur weiß ich leider nicht wie ich das anstellen soll, da ich grade erst in der Anfangsphase bin. Ich hoffe, dass mir jemand helfen kann.

rollstuhlfahrer 24. Mär 2011 14:27

AW: Label Font soll sich an dem Text ausrichten
 
Das Label passt sich mit seiner Größe automatisch dem Inhalt an. Wenn du dann den Text zuweist, ändern sich die Maße des Labels. Dann kannst du die Breite auswerten und solange bei .Font.Size die Schriftgröße kleiner stellen, bis .Width kleiner als dein Grenzwert ist. Ums einfach zu machen, würde ich immer mit einem festen Startwert anfangen. Du kannst natürlich auch zuerst die Schriftgröße größer werden lassen.

Bernhard

eugene222 24. Mär 2011 14:33

AW: Label Font soll sich an dem Text ausrichten
 
*edit*
Also ich will nicht, dass das Label sich dem Text anpasst, sondern dass der Text sich dem Label anpasst.

*edit*
Ich hab verstanden worauf du hinauswolltest xD. Ich machs mal mit einer Schleife. Hättest du vielleicht einen Vorschlag um wie viel ich die Size immer veringern soll?

rollstuhlfahrer 24. Mär 2011 14:46

AW: Label Font soll sich an dem Text ausrichten
 
Den kleinstmöglichen Wert: 1 (Size ist ja ein Integer).

Wenn du was anderes ausprobieren willst (-> Size mit Nachkommastellen wie z.B. aus Word bekannt) dann addiere doch +1 zu .Font.Height dazu.

Bernhard

ADD: Ich glaub, ich bring mich gerade selbst durcheinander (diese bescheuerte Emba-Online-Hilfe). Also Size ist bei dir hoffentlich positiv und Height dementsprechend negativ. Dann gibt Size die Größe in Punkten an und meine Hilfe stimmt.

eugene222 24. Mär 2011 14:56

AW: Label Font soll sich an dem Text ausrichten
 
Ja das ist das Problem. Size ist ein Int Wert. Ich würd die Size gerne nur um 0.1 veringern.
Also könnte ich das jetzt so machen, dass ich Size um 1 veringer und dafür bei Heigth um 1 erhöhe?

rollstuhlfahrer 24. Mär 2011 15:03

AW: Label Font soll sich an dem Text ausrichten
 
Size und Height hängen zusammen (Hilfe konsultieren). Size kannst du nur um 1 verringern. Wenn du Height veränderst hast du (auf Grund der Formel) eine wesentlich höhere Genauigkeit. Was dann am Ende für eine Textgröße rauskommt, musst du dir selbst errechnen.

Bernhard

eugene222 24. Mär 2011 15:33

AW: Label Font soll sich an dem Text ausrichten
 
Also, ich schaffs nicht. Ist zu hoch für mich. Ich hatte das leider viel leichter in Erinnerung mit Ruby. Aber bei mir klappt einfach nix. Ich möchte eig. nur dass das Labelfenster konstante Werte hat, und die Schrift die da drin ist, sich dem Fenster anpasst. Aber tdem Danke für deine Hilfe

rollstuhlfahrer 24. Mär 2011 15:37

AW: Label Font soll sich an dem Text ausrichten
 
zeig mal, was du hast

Bernhard

rollstuhlfahrer 24. Mär 2011 16:22

AW: Label Font soll sich an dem Text ausrichten
 
Das ist fies. Und außerdem a) nicht hilfreich UND b) völlig abweichend vom Thema. Wenn du trollen willst, dann nehm wenigstens den anderen Thread um das nicht eskalieren zu lassen.

Bernhard

p80286 24. Mär 2011 17:24

AW: Label Font soll sich an dem Text ausrichten
 
Zunächst einmal sollte Label.Autosize auf false gesetzt werden.
dann wird der auszugebene Text mit Label.Canvas.Textwidth() und Label.Width geprüft und ggf. der Font vergrößert oder Verkleinert.

Gruß
K-H

P.S.
Ich bin Autofahrer, interessiert sich jemand für meinen Führerschein?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:10 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz