AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Label-Font passend verkleinern

Ein Thema von hoika · begonnen am 5. Sep 2011 · letzter Beitrag vom 7. Sep 2011
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Label-Font passend verkleinern

  Alt 5. Sep 2011, 07:38
Hallo, das klappt nicht.

MyCanvas.TextWidth(LblQuestion1.Caption);

Hier kommt die Meldung Leinwand/Bild erlaubt kein Zeichnen

Egal, hebe ich mir für Version 1.1 auf ...

Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#2

AW: Label-Font passend verkleinern

  Alt 5. Sep 2011, 07:41
Vielleicht klappt es mit MSDN-Library durchsuchenDrawText und DT_CALCRECT?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Label-Font passend verkleinern

  Alt 5. Sep 2011, 08:13
Ein Canvas allein ist auch nichts. TCanvas stellt nur Zeichenmethoden bereit, aber keine eigene Zeichenfläche in dem Sinne von Speicher für Gezeichnetes. (Ja, der Name ist nicht sonderlich gut gewählt...) Mit einem temporären TBitmap sollte das wunderbar klappen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.512 Beiträge
 
Delphi 12 Athens
 
#4

AW: Label-Font passend verkleinern

  Alt 5. Sep 2011, 08:31
Wann wird diese Methode aufgerufen?
Etwa noch bevor die Form (das Parent) sichtbar sind?

Ein TLabel hat kein eigenes Canvas. Es zeichnet sich auf dem Canvas seines Parents. (z.B. die Form oder ein Panel)

Und bezüglich dem ProcessMessages: Es ist so optimiert, daß es sich erst neu zeichnet, wenn der Parent das nächste mal neu gezeichnet wird und da wird vermutlich auch erst der neue Font kurzzeitig zugewiesen, wärend des Zeichnens.
Außerhalb des Zeichnens ist dem Canvas meistens den Font des Parents zugewiesen

PS: Delphi-Referenz durchsuchenTStaticText ist das "echte" Label des Windows (als eigentständiges Control)

TLabel ist optimiert, um weniger GDI-Objekte zu benötigen (vermutlich wegen den Beschränkungen unter Win31/9x) und damit es schneller ist.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Sep 2011 um 08:33 Uhr)
  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 21:45 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