Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

wie temoräres Canvas erstellen und nutzen?

  Alt 4. Feb 2009, 15:46
Eigentlich wollte ich mir bei der internen Initialisierung 'ner Komponente
nur kurz ein Canvas erstellen, um darüber die Größe bestimmter Texte/Buchstaben abhängig eine bestimmten Fonts ermitteln.

nur leider geht das nicht so, wie ich wollte.

Zitat von EInvalidOperation:
Leinwand/Bild erlaubt kein Zeichnen
das wäre mir ja egal, da ich doch eh nicht zeichnen wollte ... nur auslesen.

z.B.
Delphi-Quellcode:
Canvas := TCanvas.Create;
Try
  ...
  GetTextExtentPoint32W(Canvas.Handle,
  ...
Finally
  Canvas.Free;
End;
Aber anscheinend macht da das Handle, bzw. csAllValid nicht mit:
Delphi-Quellcode:
function TCanvas.GetHandle: HDC;
begin
  Changing;
  RequiredState(csAllValid);
  Result := FHandle;
end;

wie komm ich nun am Einfachsten ein nettes Handle ran
, wo ich in Ruhe auslesen kann?

Das Canvas, wo später alles ausgegeben werden soll, ist zu diesem Zeitpunkt noch nicht Verfügbar.

Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat