![]() |
Stringrid mehr Seiten drucken
Hallo Gemeinde
mit dieser Procdure soll ein Stringgrid gedruckt werden. Leider druckt es nur eine Seite. was ist falsch?
Delphi-Quellcode:
sonnige Grüße
rocedure PrintGrid(sGrid: TStringGrid; recid: TRichEdit; sTitle: string);
var X1, X2: Integer; Y1, Y2: Integer; TmpI: Integer; F: Integer; TR: TRect; begin Printer.Title := sTitle; Printer.BeginDoc; Printer.Canvas.Pen.Color := 0; Printer.Canvas.Font.Name := 'Times New Roman'; Printer.Canvas.Font.Size := 16; Printer.Canvas.Font.Style := [fsBold, fsUnderline]; Printer.Canvas.TextOut(0, 100, Printer.Title); Printer.Canvas.TextOut(1200,100, DateToStr(date)); for F := 0 to sGrid.ColCount - 1 do begin X1 := 0; for TmpI := 0 to (F - 1) do X1 := X1 + 7 * (sGrid.ColWidths[TmpI]); Y1 := 300; X2 := 0; for TmpI := 0 to F do X2 := X2 + 7 * (sGrid.ColWidths[TmpI]); Y2 := 450; TR := Rect(X1, Y1, X2 - 30, Y2); Printer.Canvas.Font.Style := [fsBold]; Printer.Canvas.Font.Size := 9; Printer.Canvas.TextRect(TR, X1 + 50, 350, sGrid.Cells[F, 0]); Printer.Canvas.Font.Style := []; for TmpI := 0 to sGrid.RowCount - 1 do begin Y1 := 150 * TmpI + 300; Y2 := 150 * (TmpI + 1) + 300; TR := Rect(X1, Y1, X2 - 30, Y2); Printer.Canvas.TextRect(TR, X1 + 50, Y1 + 50, sGrid.Cells[F, TmpI]); end; end; Printer.EndDoc; end; |
Re: Stringrid mehr Seiten drucken
Hallo,
lange nicht gelesen :) Du musst die neue Seite selbst initieren. Wenn Du bemerkst, dass Dein Y1 + 50 über die Seitengröße (Printer.Canvas.ClipRect.Bottom) hinaus geht, dann musst Du vorher Printer.NewPage; aufrufen und anschließend Y1 zurücksetzen. Habe ich mich jetzt verständlich ausgedrückt :gruebel: ...:cat:... |
Re: Stringrid mehr Seiten drucken
hiho sakura,
ja in der Tat lange nicht "gesehen" ;-) Verstanden habe ich das schon ... aber die umsetzung ich probiers mal. Danke auf jeden fall |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz