Hallo,
ich habe ein Problem, gedrehten Text auf einem Tanvas Objekt auszugeben. Ich verwende folgenden Code
<pre>
procedure TextOutRotate(ACanvas: TCanvas;Angle: TAngle; X,Y: Integer; Str: String);
var
LogRec :TLogFont;
OldFontHandle :HFONT;
NewFontHandle :HFONT;
begin
GetObject(ACanvas.Font.Handle, SizeOf(LogRec), Addr(LogRec));
LogRec.lfEscapement := 10*Angle;
LogRec.lfOrientation := LogRec.lfEscapement;
NewFontHandle := CreateFontIndirect(LogRec);
OldFontHandle := SelectObject(ACanvas.Handle, NewFontHandle);
ACanvas.TextOut(X, Y, Str);
NewFontHandle := SelectObject(ACanvas.Handle, OldFontHandle);
DeleteObject(NewFontHandle);
end;
</pre>
Ich habe die Routine schon mal früher verwendet und da hat sie einwandfrei funktioniert. Wo liegt mein Fehler ?
Frank
ich habe ein Problem, gedrehten Text auf einem Tanvas Objekt auszugeben. Ich verwende folgenden Code
<pre>
procedure TextOutRotate(ACanvas: TCanvas;Angle: TAngle; X,Y: Integer; Str: String);
var
LogRec :TLogFont;
OldFontHandle :HFONT;
NewFontHandle :HFONT;
begin
GetObject(ACanvas.Font.Handle, SizeOf(LogRec), Addr(LogRec));
LogRec.lfEscapement := 10*Angle;
LogRec.lfOrientation := LogRec.lfEscapement;
NewFontHandle := CreateFontIndirect(LogRec);
OldFontHandle := SelectObject(ACanvas.Handle, NewFontHandle);
ACanvas.TextOut(X, Y, Str);
NewFontHandle := SelectObject(ACanvas.Handle, OldFontHandle);
DeleteObject(NewFontHandle);
end;
</pre>
Ich habe die Routine schon mal früher verwendet und da hat sie einwandfrei funktioniert. Wo liegt mein Fehler ?
Frank
Comment