可以在previewForm中放一个quickpreview控件,然后把qreport的内容显示到quickpreview中

解决方案 »

  1.   

    重 载TQuickRep 的OnPreview 事 件, 输 入 如 下 代 码: 
    procedure TRptForm.RptFormPreview(Sender: TObject); 
    begin 
    with TMyPreview.Create(Application) do 
    begin 
    QRPreview1.QRPrinter := TQRPrinter(Sender); 
    CurRep := self; 
    Show; 
    end; 
    end; 
      

  2.   

    gaochunzhen,有完整的代码例子吗??我是初学者,请勿见怪!
      

  3.   

    注意不要把包含qreport空件的窗体show出来,只要qreport空件.preview就可以了
      

  4.   

    在自定义预览窗体Form_RepPreview中放一个TQRPreview控件QRPreview1
    TForm_RepPreview设为自动创建方式(默认就是);//报表窗体Form_Report中的QuickRep1的OnPreview事件
    procedure TForm_Report.QuickRep1Preview(Sender: TObject)
    begin
      Form_RepPreview.QRPreview1.QRPrinter:=TQRPrinter(Sender);
      Form_RepPreview.Show;
    end;预览时,用以下语句调用即可
    Form_Report.QuickRep1.Preview;
      

  5.   

    我想小结一下:
    1、在预览窗口(previewForm)放置一个自定义预览控件(QRPreview1);
    2、绘制好你的Qreport,设其所在窗体为frmReport;
    3、下面的代码是关键:
       在Qreport的OnPreview 事件中加入代码
       previewForm.QRpreview1.QRPrinter:=Qreport.QRPrinter;
       在要预览的地方(比如预览按钮的OnClick事件)加入下面的代码:
       frmReport.Qreport.Preview;
    4、搞定!