适用于Delphi的Fastreport v4:如何使用标准Windows选择打印机对话框?

时间:2013-07-26 18:56:04

标签: delphi

使用Delphi 2006的Fastreport v4

我们需要打印机对话框(选择打印机对话框)作为标准的Windows对话框。

我们怎么做?

(我们需要它看起来“正确”,我们不想在快速报告对话框中记录或支持这些功能)

1 个答案:

答案 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;