0

带有 Delphi 2006 的 Fastreport v4

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

我们应该怎么做?

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

4

1 回答 1

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;
于 2013-07-26T19:23:30.373 回答