Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Canvas.getTextWidth(Text) funzt nicht richtig!
JRegier - Sa 30.07.05 10:43
Titel: Canvas.getTextWidth(Text) funzt nicht richtig!
Hi, ich habe eine Function geschrieben um StringLänge in Pixel zu ermitteln aber es funzt nicht richtig!
Was mache ich falsch siehe Code;
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| function TWhereManager.GetStrLenInPix(Text : String; Font : TFont) : Integer; begin Canvas.Font := Font; Result := Canvas.TextWidth(Text); end; |
Ich will hiermit die Länge einer TEdit componente einstellen damit ganzer Text zu sehen ist! Ich addiere auch 8 dazu aber bei einer
Schriftart funzte es und bei anderer nicht!
GTA-Place - Sa 30.07.05 11:07
Schonmal so versucht?:
Delphi-Quelltext
1: 2:
| Edit1.Canvas.Font := ...; Edit1.Canvas.TextWidth(...); |
Keldorn - Sa 30.07.05 11:09
GTA-Place hat folgendes geschrieben: |
Schonmal so versucht?:
|
ein edit hat kein canvas als eigenschaft ;-)
GTA-Place - Sa 30.07.05 11:19
Oh... ^^
Naja, dann halt nicht...
Sprint - Sa 30.07.05 11:34
Keldorn hat folgendes geschrieben: |
GTA-Place hat folgendes geschrieben: | Schonmal so versucht?:
| ein edit hat kein canvas als eigenschaft |
Das kann man ja schnell ändern:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| with TControlCanvas.Create do try Control := Edit1; Font := Edit1.Font; Edit1.ClientWidth := TextWidth(Edit1.Text) + 4; finally Free; end; |
JRegier - Sa 30.07.05 11:49
Vielen Dank schonmal, Delpher! :wink:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!