AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Länge eines Textes in Pixel ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Länge eines Textes in Pixel ermitteln

Ein Thema von Zacherl · begonnen am 27. Nov 2011 · letzter Beitrag vom 27. Nov 2011
Antwort Antwort
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: Länge eines Textes in Pixel ermitteln

  Alt 27. Nov 2011, 22:28
@ASM
Zitat:
allein schon deshalb, weil nicht alle beschriftbaren Objekte ein Canvas haben (wie z.B. Labels).
Nicht public oder published heißt nicht daß es nicht da wäre
Delphi-Quellcode:
type
  THackGraphicControl=Class(Controls.TGraphicControl)
     public
     Property Canvas;
  End;
.....

procedure TForm1.Button1Click(Sender: TObject);
begin
 THackGraphicControl(Label1).Canvas.Ellipse(0,0,10,10);
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Länge eines Textes in Pixel ermitteln

  Alt 27. Nov 2011, 23:21
Nicht public oder published heißt nicht daß es nicht da wäre
Gut, soweit akzeptiert. Das hatte ich jetzt bedacht.

Aber ein TGraphicControl hat zwar ein Canvas (zumindestens über die Hilfsklasse THackGraphicControl erreichbar), jedoch kein Handle; dagegen ein TWinControl zwar ein Handle, aber kein Canvas. Also müsste man - je nach verwendetem Objekt - eine andere Funktion zur Berechnung der Pixel heranziehen.

Warum also nicht gleich eine universelle Funktion, die von vornherein unabhängig von dieser unterschiedlichen Herleitung eines Objekts ist.

Außerdem kann man in meiner oben beschriebenen Funktion die Pixel über einen String berechnen lassen, der zunächst noch gar nicht im Objekt selbst definiert ist, wodurch man ggf. zunächst die für diesen String benötigten Pixel berechnen kann und danach das Beschriftungsfeld des Objekts in Länge und Höhe oder seine Font.size entsprechend anpassen kann (nicht alles hat ja eine Autosize Property), um es dann mit eben diesem String zu belegen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 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