Entwickler-Ecke

Sonstiges (Delphi) - Wie bekomme ich die länge eines Strings in Pixel heraus??


RichiDD - So 15.12.02 12:06
Titel: Wie bekomme ich die länge eines Strings in Pixel heraus??
solche programme wie imesh oder edonky etc. haben immer listen programmiert, in denen man seine downloads sieht. wenn man dort die colsize ändert (die spaltenbreite ändert) und der string nicht mehr in die spalte passt schreibt das programm am ende des feldes ein '...' um das schreiben zu können müssen die irgendwie die stringlänge und die colsize vergleichen.

aber wie???? :eyecrazy: ,da die länge jedes zeichen unterschiedlich ist.


Tino - So 15.12.02 13:27
Titel: Re: Wie bekomme ich die länge eines Strings in Pixel heraus?
RichiDD hat folgendes geschrieben:
solche programme wie imesh oder edonky etc. haben immer listen programmiert, in denen man seine downloads sieht.

Ich denke das ist eine tListView. Diese Kompoente macht das selbst. Du brauchst Dich also nicht drum zu kümmern!

Gruß
TINO


Wolff68 - So 15.12.02 15:09

Also eine Funktion fällt mir dazu auch nicht ein. :?
Alles was mir dazu einfällt ist, daß ja ein Label mit Autosize = true die Länge immer aktualisiert in Width speichert.

Also Label1.Caption := S; und dann L := Label1.Width ??
Ist irgendwie nicht gerade der Hit, oder? :x


Jack Falworth - So 15.12.02 16:07

Die Methode TextWidth gibt die Breite eines Strings, der in der aktuellen Schriftart ausgegeben wird, in der Einheit Pixel zurück.


Quelltext
1:
function TextWidth(const Text: string): Integer;                    

Beschreibung:
Mit TextWidth können Sie feststellen, welche Breite ein String im Bild einnimmt. TextWidth gibt an, ob der verfügbare Platz für einen bestimmten String ausreicht. Andere grafische Elemente des Bildes wie beispielsweise Linien oder weitere Strings können dann entsprechend dieser Textbreite positioniert werden.

TextWidth liefert denselben Wert zurück wie der Aufruf von TextExtent(Text).cx

genauso gibt Textheight die Höhe des Textes in Pixel zurück

MfG

Jack Falworth