使用Delphi 2006的Fastreport v4
我们需要打印机对话框(选择打印机对话框)作为标准的Windows对话框。
我们怎么做?
(我们需要它看起来“正确”,我们不想在快速报告对话框中记录或支持这些功能)
答案 0 :(得分:2)
将frxReport.PrintOptions.ShowDialog设置为false并调用您自己的对话框。
uses Printers;
Procedure PrintWithDialog(frxReport:TFrxReport ; PrintDialog:TCommonDialog ;const ReportName:String);
begin
frxReport.LoadFromFile(ReportName);
if PrintDialog.Execute then
begin
frxReport.PrintOptions.Printer := Printer.Printers[Printer.PrinterIndex];
frxReport.PrintOptions.Copies := Printer.Copies;
// other settings
frxReport.PrintOptions.ShowDialog := false;
frxReport.PrepareReport;
frxReport.Print;
end;
end;
Procedure TForm3.Button1Click(Sender: TObject);
begin
PrintWithDialog(frxReport1,PrintDialog1,'C:\path\Report.Fr3');
// OR
PrintWithDialog(frxReport1,PrinterSetupDialog1,'C:\path\Report.Fr3');
end;