Hi,
versuche seit geraumer Zeit eine gescheite Ausgabe eines Stringgrids hinzubekommen.
Da ich über Drawcell einige farbige Elemente (Rectangle, Textout etc.) erzeuge, möchte ich diese natürlich auch ausdrucken. Am geschicktestens schient es mir über Stringgrid.painto(printer.handle,x,y) zu gehen. Allerdings wie schon in anderen Beiträgen diskutiert wird der Ausdruck nicht auf die Druckseite angepaßt. Somit steh ich vor dem gleichen Problem.
Delphi-Quellcode:
procedure TForm1.LMDButton3Click(Sender: TObject);
var druckflaeche : TRect;
df_old : TRect;
x,y,xw,yw : integer;
Bitmap : TBitMap;
begin
if psd.Execute then begin
with Printer do begin
Title := e_titel.Text;
Orientation := poLandscape;
druckflaeche.Left := e_left.Value + e_rand.Value;
druckflaeche.top := e_top.Value + e_rand.Value;
druckflaeche.right := printer.PageWidth - e_right.Value - e_rand.Value;
druckflaeche.bottom := printer.PageHeight - e_bottom.Value - e_rand.Value;
df_old := sg1.ClientRect;
BeginDoc;
sg1.PaintTo(printer.Handle,100,100);
Canvas.CopyMode:=cmSrcCopy;
canvas.CopyRect(druckflaeche, canvas, df_old);
EndDoc;
end;
end;
end;
Hat jemand eine Idee?
Das verursachende Grid als Bild im Anhang.