Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

wie temoräres Canvas erstellen und nutzen?

  Alt 4. Feb 2009, 16: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.

$2B or not $2B
  Mit Zitat antworten Zitat