Hallo,
ich benutze den folgenden Code zum gedrehten ausgeben von Texten( stammt aus dem Delphi-Treff ):
Delphi-Quellcode:
procedure TextOutAngle(const Canvas: TCanvas; X, Y: Integer; const AText: string; AAngle: Integer);
var
hCurFont: HFONT;
LogFont: TLogFont;
begin
with Canvas do
begin
hCurFont := Font.Handle;
try
GetObject(Font.Handle, SizeOf(LogFont), @LogFont);
LogFont.lfEscapement := AAngle;
LogFont.lfOrientation := AAngle;
Font.Handle:= CreateFontIndirect(LogFont);
try
TextOut(X, Y, AText);
finally
DeleteObject(Font.Handle);
end;
finally
Font.Handle := hCurFont;
end;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var n:integer;
begin
TextOutAngle(PB1.Canvas,100,100,'hallo',900);
end;
Funktioniert alles problemlos, nur mit dem Schönheitsfehler, dass das Steuerelement das danach den Fokus hat seinen Font verändert.
Ich zeichne auf eine Tpaintbox.
Weiss jemand warum das so ist?
Grüsse
Rainer