Einzelnen Beitrag anzeigen

Benutzerbild von TheProfi
TheProfi

Registriert seit: 30. Mai 2005
Ort: Emden
42 Beiträge
 
Delphi 10.3 Rio
 
#1

Stringrid über Paintto skaliert drucken?

  Alt 30. Mai 2005, 09:47
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.
Miniaturansicht angehängter Grafiken
grid_bild_130.jpeg  
Georg Reimann
  Mit Zitat antworten Zitat