Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Labellänge erkennen (https://www.delphipraxis.net/48859-labellaenge-erkennen.html)

Kompon Ente 1. Jul 2005 11:34


Labellänge erkennen
 
Hallo,

da ich gerade beim Spiel Galgenmännchen bin, möchte ich gerne, dass sich das Label der Länge des Wortes anpasst und wenn kein Platz mehr an den Seiten ist einen Zeilenumbruch macht - es soll ja schließlich niemand den Überblick verlieren. :)

Wer kann helfen?

DP-Maintenance 1. Jul 2005 11:35

DP-Maintenance
 
Dieses Thema wurde von "alcaeus" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
PA ist fuer Fragen die nichts mit Delphi zu tun haben; und fuer die VCL-Komponenten gibts auch eine Sparte.

MisterNiceGuy 1. Jul 2005 11:41

Re: Labellänge erkennen
 
Vergleiche einfach die Länge der Labelkomponente mit label1.GetTextLen(Dein Text).

P.S. Ein Label kann imho keinen Zeilenumbruch anzeigen...

PierreB 1. Jul 2005 11:43

Re: Labellänge erkennen
 
Zitat:

P.S. Ein Label kann imho keinen Zeilenumbruch anzeigen...
Delphi-Quellcode:
label1.caption := 'Gleich kommt der' +#13+ 'Zeilenumbruch';

ste_ett 1. Jul 2005 11:44

Re: Labellänge erkennen
 
AutoSize := false;
WordWrap := true;

MisterNiceGuy 1. Jul 2005 12:08

Re: Labellänge erkennen
 
ups :)

nailor 1. Jul 2005 12:09

Re: Labellänge erkennen
 
Zitat:

Zitat von PierreB
Zitat:

P.S. Ein Label kann imho keinen Zeilenumbruch anzeigen...
Delphi-Quellcode:
label1.caption := 'Gleich kommt der' +#13+ 'Zeilenumbruch';

#13#10 ist das, was ich gelernt hab. #13 funktioniert zwar, aber aus irgend nem grund sollte man #13#10 nehmen.

MrKnogge 1. Jul 2005 12:16

Re: Labellänge erkennen
 
Zitat:

Zitat von nailor
aber aus irgend nem grund sollte man #13#10 nehmen.

Macht: Eine Zeile nach unten, und zum Anfang der Zeile springen, jetzt aber wieder Back to Topic.

nailor 1. Jul 2005 12:26

Re: Labellänge erkennen
 
sorry für OT [vielleicht kann das ein mod splitten], aber ist von interesse:

nur #13 macht genau das gleiche und nicht nur eine zeile nach unten, wie man annehmen könnte. da muss mehr dahinter stecken.

barf00s 1. Jul 2005 12:32

Re: Labellänge erkennen
 
das liegt am windows - wo ein #13 einem #13#10 entspricht
so wie beim unix normal auch nurn #10 reichen würde </fasel>

Sidorion 1. Jul 2005 15:10

Re: Labellänge erkennen
 
#13 ist das 'Carriage Return' Zeichen und sorgt (im ASCII Code) dafür, daß der Cursor auf das erste Zeichen in der Zeile rutscht (also kein Zeilenumbruch). Dieser kommt durch #10, den Code für 'Line Feed' zustande und muß eigentlich VOR #13 stehen.
Also um es völlig korrekt zu machen, mußt du #10#13 schreiben. Windows kommt zwar mit dem einfachen #13 klar, aber ist nicht 'well formed' und an manchen Ecken kanns zu argen Problemen führen.

chris_k 1. Jul 2005 16:33

Re: Labellänge erkennen
 
nein, umgekehrt #13#10
Schau Dir mal irgendeine Textdatei in einem Hexeditor an. Da steht dann beim Zeilenumbruch 0D 0A.

r2c2 1. Jul 2005 16:39

Re: Labellänge erkennen
 
Zitat:

Zitat von Sidorion
#13 ist das 'Carriage Return' Zeichen und sorgt (im ASCII Code) dafür, daß der Cursor auf das erste Zeichen in der Zeile rutscht (also kein Zeilenumbruch). Dieser kommt durch #10, den Code für 'Line Feed' zustande und muß eigentlich VOR #13 stehen.
Also um es völlig korrekt zu machen, mußt du #10#13 schreiben. Windows kommt zwar mit dem einfachen #13 klar, aber ist nicht 'well formed' und an manchen Ecken kanns zu argen Problemen führen.

AFAIK is es ganau anders herum: #13#10. So wie bei der Schreibmaschine: Zuerst wird der Wagen zurückgeschoben(CR), dann das Blatt um eine Zeile hochgerückt(LF). Und wenn man nich nicht sicher ist, welche Reihenfolge die richtige ist, kann man immer noch die vordefinierte Konstante sLineBreak nehmen. :zwinker:

mfg

Christian

//Edit: Ich bin zu langsam für diese Welt! :? Um genau zu sein 6 Min!

alcaeus 1. Jul 2005 16:49

Re: Labellänge erkennen
 
*hust*
Koenntet ihr das eventuell in einem anderen Thema austragen? :roll:
Hier gehts nicht um die Bedeutung von #10 und #13, sondern darum wie ein Label an den Text angepasst werden kann...

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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 by Thomas Breitkreuz