Столкнулся с некоторой проблемой при выводе DBgrid на печать стандартными процедурами и PrinterSetupDialog. Вот как осуществлял:
| Код | uses Printers;
If not PrinterSetupDialog1.Execute then Exit else begin Printer.BeginDoc; Printer.Refresh; Canvas.Font:=Results.Font; Results.DBGrid1.PaintTo(Printer.Handle, 10, 10); Printer.NewPage; Printer.EndDoc end;
|
Засада в том, что при печати DBGrid получается на листе очень маленький, т.е. я так понял, что Font DBGrid затирается каким-то образом, в связи с этим и уменьшается размер DBGrid на напечатанном листе... И как осуществить печать полностью DBGrid а не только той части, которая отбражается на форме со скролом? Как правильно настроить программно принтер для такой печати, не используя сторонних компонентов? |