Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: gedrehter Text verändert Font

  Alt 13. Jan 2009, 11:18
in D2009 geht es auch so (ich weiß nur nicht ab wann .Orientation in TFont drin ist ... D7 kennt es noch nicht)

Delphi-Quellcode:
Procedure TextOutAngle(const Canvas: TCanvas; X, Y: Integer;
  const AText: string; AAngle: Integer);

var
  OldOrientation: Integer;

begin
  OldOrientation := Canvas.Font.Orientation;
  Canvas.Font.Orientation := AAngle;
  Canvas.TextOut(x, y, AText);
  Canvas.Font.Orientation := OldOrientation;
end;


// oder


Procedure TextOutAngle(const Canvas: TCanvas; X, Y: Integer;
  const AText: string; AAngle: Integer);

var
  OldFont: TFont;

begin
  OldFont := TFont.Create;
  Try
    OldFont.Assign(Canvas.Font);
    Canvas.Font.Orientation := AAngle;
    // hier ließe sich dann noch mehr ändern und es würde auch wieder zurückgesetzt
    Canvas.TextOut(x, y, AText);
  Finally
    Canvas.Font.Assign(OldFont);
    OldFont.Free;
  End;
end;

Warum der Fehler bei dir auftritt, weiß ich nicht, aber eventuell gibt eine Zuweisung auf Font.Handle das alte Handle frei
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat