Suche eine Lösung um Schriften auf den Drucker in einem vorgegebenen Winkel ausgeben zu können. Kann mit dem u.a. Programm zwar über Canvas Schriften auf dem Bildschirm (Form1.Canvas.TextOu....) im Winkel ausgeben, jedoch über den Printer.Canvas-Aufruf funktioniert die Sache nicht.
Wer kann mir helfen?
---------- Listing ----------
Uses Printers
.
.
var lf : TLogFont;
tf : TFont;
Angle : Integer;
DC : THandle;
Begin
Printer.BeginDoc;
Angle := 45;
Printer.Canvas.Font.Name:='Arial';
printer.Canvas.Font.Size:=20;
tf:=TFont.Create;
tf.Assign(Printer.Canvas.Font);
GetObject(tf.Handle,SizeOf(lf),Addr(Lf));
Lf.lfEscapement:=Angel*10;
Lf.lfOrientation:=Angel*10;
SetBKMode(Printer.Canvas.Handle,transparent);
tf.Handle:=CreateFontIndirect(lf);
Printer.Canvas.Font.Assign(tf);
tf.Free;
Printer.Canvas.TextOut(200,200,'Computer');
Printer.EndDoc;
End;
Wer kann mir helfen?
---------- Listing ----------
Uses Printers
.
.
var lf : TLogFont;
tf : TFont;
Angle : Integer;
DC : THandle;
Begin
Printer.BeginDoc;
Angle := 45;
Printer.Canvas.Font.Name:='Arial';
printer.Canvas.Font.Size:=20;
tf:=TFont.Create;
tf.Assign(Printer.Canvas.Font);
GetObject(tf.Handle,SizeOf(lf),Addr(Lf));
Lf.lfEscapement:=Angel*10;
Lf.lfOrientation:=Angel*10;
SetBKMode(Printer.Canvas.Handle,transparent);
tf.Handle:=CreateFontIndirect(lf);
Printer.Canvas.Font.Assign(tf);
tf.Free;
Printer.Canvas.TextOut(200,200,'Computer');
Printer.EndDoc;
End;
Comment