tempad
Readygo技术搜索引擎 >>ASP技术 >> 百分请教!急救!delphi6中QReport组件中的QRPreview如何使用!!!

百分请教!急救!delphi6中QReport组件中的QRPreview如何使用!!!

Readygo技术搜索引擎 网络搜索 efish 2008-1-14 6:26:02

百分请教!急救!delphi6中QReport组件中的QRPreview如何使用!!!

楼主zhuzf(一头雾水)2002-05-14 15:23:32 在 Delphi / VCL组件开发及应用 提问

打算用QRPreview做一个自定义的预览界面,上边有前一页、后一页、打印设置、打印等功能按钮,可对三个不同的报表进行预览! 认为紧急请各位大虾多多帮忙,最好能给出源代码!谢谢! 问题点数:0、回复次数:9Top

1 楼zhuzf(一头雾水)回复于 2002-05-14 15:31:32 得分 0

各位高手快来帮帮我呀~!Top

2 楼chechy(www.qdocuments.net)回复于 2002-05-14 15:36:05 得分 0

unit   RptFrm;  
   
  interface  
   
  uses  
      SysUtils,   Classes,   Controls,   NrmlFrm,   QRPrntr,   ActnList,   ImgList,   ComCtrls,  
      ToolWin,   Forms,   StdCtrls,   Spin,   Dialogs;  
   
  type  
      TReportForm   =   class(TForm)  
          qrpPreview:   TQRPreview;  
          tlbtnZoomToFit:   TToolButton;  
          tlbtnActualSize:   TToolButton;  
          tlbtnZoomToWidth:   TToolButton;  
          tlbtnSprt1:   TToolButton;  
          tlbtnFirst:   TToolButton;  
          tlbtnPrior:   TToolButton;  
          tlbtnNext:   TToolButton;  
          tlbtnLast:   TToolButton;  
          tlbtnSprt2:   TToolButton;  
          tlbtnPrintSetup:   TToolButton;  
          tlbtnPrint:   TToolButton;  
          tlbtnSprt3:   TToolButton;  
          tlbtnOpen:   TToolButton;  
          tlbtnSave:   TToolButton;  
          tlbtnSprt4:   TToolButton;  
          tlbtnExit:   TToolButton;  
          spePage:   TSpinEdit;  
          lblZoom:   TLabel;  
          speZoom:   TSpinEdit;  
          lblPage:   TLabel;  
          actZoomToFit:   TAction;  
          actActualSize:   TAction;  
          actZoomToWidth:   TAction;  
          actFirst:   TAction;  
          actPrior:   TAction;  
          actNext:   TAction;  
          actLast:   TAction;  
          actPrintSetup:   TAction;  
          actPrint:   TAction;  
          actOpen:   TAction;  
          actExit:   TAction;  
          stbStatus:   TStatusBar;  
          OpenDialog:   TOpenDialog;  
          SaveDialog:   TSaveDialog;  
          actRptSave:   TAction;  
          procedure   FormCloseQuery(Sender:   TObject;   var   CanClose:   Boolean);  
          procedure   actExitExecute(Sender:   TObject);  
          procedure   actZoomToFitExecute(Sender:   TObject);  
          procedure   actActualSizeExecute(Sender:   TObject);  
          procedure   actZoomToWidthExecute(Sender:   TObject);  
          procedure   speZoomChange(Sender:   TObject);  
          procedure   actFirstExecute(Sender:   TObject);  
          procedure   actPriorExecute(Sender:   TObject);  
          procedure   actLastExecute(Sender:   TObject);  
          procedure   actFirstUpdate(Sender:   TObject);  
          procedure   actNextUpdate(Sender:   TObject);  
          procedure   spePageChange(Sender:   TObject);  
          procedure   qrpPreviewPageAvailable(Sender:   TObject;   PageNum:   Integer);  
          procedure   actPrintExecute(Sender:   TObject);  
          procedure   actPrintSetupExecute(Sender:   TObject);  
          procedure   actOpenExecute(Sender:   TObject);  
          procedure   actRptSaveExecute(Sender:   TObject);  
          procedure   actCloseExecute(Sender:   TObject);  
          procedure   FormCreate(Sender:   TObject);  
      private  
          {   Private   declarations   }  
          FPageCount:   Integer;  
   
          function   GetQRPrinter:   TQRPrinter;  
          procedure   SetQRPrinter(const   Value:   TQRPrinter);  
          procedure   EnableActions(const   AEnabled:   Boolean);  
      public  
          {   Public   declarations   }  
          property   QRPrinter:   TQRPrinter   read   GetQRPrinter   write   SetQRPrinter;  
   
          procedure   Back;  
      end;  
   
  implementation  
   
  uses   StdTypes,   CtrlFrm;  
   
  {$R   *.DFM}  
   
  {   TReportForm   }  
   
  function   TReportForm.GetQRPrinter:   TQRPrinter;  
  begin  
      Result   :=   qrpPreview.QRPrinter  
  end;  
   
  procedure   TReportForm.SetQRPrinter(const   Value:   TQRPrinter);  
  begin  
      qrpPreview.QRPrinter   :=   Value  
  end;  
   
  procedure   TReportForm.FormCloseQuery(Sender:   TObject;  
      var   CanClose:   Boolean);  
  begin  
      QRPrinter   :=   nil;  
   
      inherited;  
  end;  
   
  procedure   TReportForm.Back;  
  begin  
      QRPrinter   :=   nil;  
      NextPage   :=   PrevPage;  
      ChangePage  
  end;  
   
  procedure   TReportForm.actExitExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      Back  
  end;  
   
  procedure   TReportForm.actZoomToFitExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      qrpPreview.ZoomToFit;  
      speZoom.Value   :=   qrpPreview.Zoom;  
      (Sender   as   TAction).Checked   :=   True  
  end;  
   
  procedure   TReportForm.actActualSizeExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      speZoom.Value   :=   100;  
      (Sender   as   TAction).Checked   :=   True  
  end;  
   
  procedure   TReportForm.actZoomToWidthExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      qrpPreview.ZoomToWidth;  
      speZoom.Value   :=   qrpPreview.Zoom;  
      actZoomToWidth.Checked   :=   True  
  end;  
   
  procedure   TReportForm.speZoomChange(Sender:   TObject);  
  begin  
      inherited;  
   
      qrpPreview.Zoom   :=   speZoom.Value  
  end;  
   
  procedure   TReportForm.actFirstExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      spePage.Value   :=   1;  
  end;  
   
  procedure   TReportForm.actPriorExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      with   Sender   as   TAction   do  
          spePage.Value   :=   qrpPreview.PageNumber   +   Tag  
  end;  
   
  procedure   TReportForm.actLastExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      spePage.Value   :=   FPageCount  
  end;  
   
  procedure   TReportForm.actFirstUpdate(Sender:   TObject);  
  begin  
      inherited;  
   
      with   spePage   do  
          (Sender   as   TAction).Enabled   :=   qrpPreview.PageNumber   >   MinValue;  
      spePage.Enabled   :=   spePage.MaxValue   >   spePage.MinValue;  
  end;  
   
  procedure   TReportForm.actNextUpdate(Sender:   TObject);  
  begin  
      inherited;  
   
      with   spePage   do  
          (Sender   as   TAction).Enabled   :=   qrpPreview.PageNumber   <   MaxValue  
  end;  
   
  procedure   TReportForm.spePageChange(Sender:   TObject);  
  begin  
      inherited;  
   
      if   (spePage.Value   >=   spePage.MinValue)   and  
          (spePage.Value   <=   spePage.MaxValue)   then   begin  
          qrpPreview.PageNumber   :=   spePage.Value;  
          stbStatus.Panels.Text   :=   Format("%d-%d",  
              );  
      end  
  end;  
   
  procedure   TReportForm.qrpPreviewPageAvailable(Sender:   TObject;  
      PageNum:   Integer);  
  var  
      FText:   string;  
  begin  
      inherited;  
   
      //   yjc   Add   This   2000.07.20     22:27  
      tlbtnZoomToWidth.Down   :=   True;  
      actZoomToWidth.Execute;  
      FPageCount   :=   QRPrinter.PageCount;  
      spePage.MaxValue   :=   PageNum;  
      stbStatus.Panels.Text   :=   Format("1-%d",   );  
   
      FText   :=   QRPrinter.Title;  
      if   FText   <>   EmptyStr   then  
          FText   :=   FText   +   "   -   ";  
      case   QRPrinter.Status   of  
          mpReady:   FText   :=   FText   +   SQRReady;  
          mpBusy:   begin  
          FText   :=   FText   +   SQRBusy;  
              EnableActions(False)  
          end;  
          mpFinished:   begin  
                  FText   :=   FText   +   SQRFinished;  
                  spePage.Value   :=   1;  
                  EnableActions(True)  
              end  
      end;  
      stbStatus.Panels.Text   :=   FText;  
  end;  
   
  procedure   TReportForm.actPrintExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      with   Sender   as   TAction   do   begin  
          Enabled   :=   False;  
          QRPrinter.Print;  
          Enabled   :=   True  
      end  
  end;  
   
  procedure   TReportForm.actPrintSetupExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      QRPrinter.PrintSetup  
  end;  
   
  procedure   TReportForm.actOpenExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      if   OpenDialog.Execute   then   begin  
          if   FileExists(OpenDialog.FileName)   then   begin  
              QRPrinter.Load(OpenDialog.FileName);  
              qrpPreviewPageAvailable(nil,   QRPrinter.PageCount);  
              qrpPreview.PreviewImage.PageNumber   :=   1;  
          end  
      end  
  end;  
   
  procedure   TReportForm.EnableActions(const   AEnabled:   Boolean);  
  var  
      i:   Integer;  
  begin  
      for   i   :=   0   to   alActions.ActionCount   -   1   do  
          (alActions   as   TAction).Enabled   :=   AEnabled;  
      speZoom.Enabled   :=   AEnabled;  
      spePage.Enabled   :=   AEnabled;  
  end;  
   
  procedure   TReportForm.actRptSaveExecute(Sender:   TObject);  
  var  
      AExportFilter:   TQRExportFilter;  
  begin  
      inherited;  
   
      SaveDialog.Filter   :=   QRExportFilterLibrary.SaveDialogFilterString;  
      if   SaveDialog.Execute   then  
          if   SaveDialog.FilterIndex   =   1   then  
              QRPrinter.Save(SaveDialog.FileName)  
          else   begin  
              AExportFilter   :=   TQRExportFilterLibraryEntry(  
              QRExportFilterLibrary.Filters).  
                  ExportFilterClass.Create(SaveDialog.Filename);  
              try  
                  QRPrinter.ExportToFilter(AExportFilter);  
              finally  
                  AExportFilter.Free  
              end  
          end  
  end;  
   
  procedure   TReportForm.actCloseExecute(Sender:   TObject);  
  begin  
      TControlForm(ParentForm).ClosingReport;  
      Back  
  end;  
   
  procedure   TReportForm.FormCreate(Sender:   TObject);  
  begin  
      inherited;  
   
      AutoBack   :=   True  
  end;  
   
  end.  
   
  Top

3 楼chechy(www.qdocuments.net)回复于 2002-05-14 15:38:23 得分 0

unit   RptFrm;  
   
  interface  
   
  uses  
      SysUtils,   Classes,   Controls,   NrmlFrm,   QRPrntr,   ActnList,   ImgList,   ComCtrls,  
      ToolWin,   Forms,   StdCtrls,   Spin,   Dialogs;  
   
  type  
      TReportForm   =   class(TForm)  
          qrpPreview:   TQRPreview;  
          tlbtnZoomToFit:   TToolButton;  
          tlbtnActualSize:   TToolButton;  
          tlbtnZoomToWidth:   TToolButton;  
          tlbtnSprt1:   TToolButton;  
          tlbtnFirst:   TToolButton;  
          tlbtnPrior:   TToolButton;  
          tlbtnNext:   TToolButton;  
          tlbtnLast:   TToolButton;  
          tlbtnSprt2:   TToolButton;  
          tlbtnPrintSetup:   TToolButton;  
          tlbtnPrint:   TToolButton;  
          tlbtnSprt3:   TToolButton;  
          tlbtnOpen:   TToolButton;  
          tlbtnSave:   TToolButton;  
          tlbtnSprt4:   TToolButton;  
          tlbtnExit:   TToolButton;  
          spePage:   TSpinEdit;  
          lblZoom:   TLabel;  
          speZoom:   TSpinEdit;  
          lblPage:   TLabel;  
          actZoomToFit:   TAction;  
          actActualSize:   TAction;  
          actZoomToWidth:   TAction;  
          actFirst:   TAction;  
          actPrior:   TAction;  
          actNext:   TAction;  
          actLast:   TAction;  
          actPrintSetup:   TAction;  
          actPrint:   TAction;  
          actOpen:   TAction;  
          actExit:   TAction;  
          stbStatus:   TStatusBar;  
          OpenDialog:   TOpenDialog;  
          SaveDialog:   TSaveDialog;  
          actRptSave:   TAction;  
          procedure   FormCloseQuery(Sender:   TObject;   var   CanClose:   Boolean);  
          procedure   actExitExecute(Sender:   TObject);  
          procedure   actZoomToFitExecute(Sender:   TObject);  
          procedure   actActualSizeExecute(Sender:   TObject);  
          procedure   actZoomToWidthExecute(Sender:   TObject);  
          procedure   speZoomChange(Sender:   TObject);  
          procedure   actFirstExecute(Sender:   TObject);  
          procedure   actPriorExecute(Sender:   TObject);  
          procedure   actLastExecute(Sender:   TObject);  
          procedure   actFirstUpdate(Sender:   TObject);  
          procedure   actNextUpdate(Sender:   TObject);  
          procedure   spePageChange(Sender:   TObject);  
          procedure   qrpPreviewPageAvailable(Sender:   TObject;   PageNum:   Integer);  
          procedure   actPrintExecute(Sender:   TObject);  
          procedure   actPrintSetupExecute(Sender:   TObject);  
          procedure   actOpenExecute(Sender:   TObject);  
          procedure   actRptSaveExecute(Sender:   TObject);  
          procedure   actCloseExecute(Sender:   TObject);  
          procedure   FormCreate(Sender:   TObject);  
      private  
          {   Private   declarations   }  
          FPageCount:   Integer;  
   
          function   GetQRPrinter:   TQRPrinter;  
          procedure   SetQRPrinter(const   Value:   TQRPrinter);  
          procedure   EnableActions(const   AEnabled:   Boolean);  
      public  
          {   Public   declarations   }  
          property   QRPrinter:   TQRPrinter   read   GetQRPrinter   write   SetQRPrinter;  
   
          procedure   Back;  
      end;  
   
  implementation  
   
  uses   StdTypes,   CtrlFrm;  
   
  {$R   *.DFM}  
   
  {   TReportForm   }  
   
  function   TReportForm.GetQRPrinter:   TQRPrinter;  
  begin  
      Result   :=   qrpPreview.QRPrinter  
  end;  
   
  procedure   TReportForm.SetQRPrinter(const   Value:   TQRPrinter);  
  begin  
      qrpPreview.QRPrinter   :=   Value  
  end;  
   
  procedure   TReportForm.FormCloseQuery(Sender:   TObject;  
      var   CanClose:   Boolean);  
  begin  
      QRPrinter   :=   nil;  
   
      inherited;  
  end;  
   
  procedure   TReportForm.Back;  
  begin  
      QRPrinter   :=   nil;  
      NextPage   :=   PrevPage;  
      ChangePage  
  end;  
   
  procedure   TReportForm.actExitExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      Back  
  end;  
   
  procedure   TReportForm.actZoomToFitExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      qrpPreview.ZoomToFit;  
      speZoom.Value   :=   qrpPreview.Zoom;  
      (Sender   as   TAction).Checked   :=   True  
  end;  
   
  procedure   TReportForm.actActualSizeExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      speZoom.Value   :=   100;  
      (Sender   as   TAction).Checked   :=   True  
  end;  
   
  procedure   TReportForm.actZoomToWidthExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      qrpPreview.ZoomToWidth;  
      speZoom.Value   :=   qrpPreview.Zoom;  
      actZoomToWidth.Checked   :=   True  
  end;  
   
  procedure   TReportForm.speZoomChange(Sender:   TObject);  
  begin  
      inherited;  
   
      qrpPreview.Zoom   :=   speZoom.Value  
  end;  
   
  procedure   TReportForm.actFirstExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      spePage.Value   :=   1;  
  end;  
   
  procedure   TReportForm.actPriorExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      with   Sender   as   TAction   do  
          spePage.Value   :=   qrpPreview.PageNumber   +   Tag  
  end;  
   
  procedure   TReportForm.actLastExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      spePage.Value   :=   FPageCount  
  end;  
   
  procedure   TReportForm.actFirstUpdate(Sender:   TObject);  
  begin  
      inherited;  
   
      with   spePage   do  
          (Sender   as   TAction).Enabled   :=   qrpPreview.PageNumber   >   MinValue;  
      spePage.Enabled   :=   spePage.MaxValue   >   spePage.MinValue;  
  end;  
   
  procedure   TReportForm.actNextUpdate(Sender:   TObject);  
  begin  
      inherited;  
   
      with   spePage   do  
          (Sender   as   TAction).Enabled   :=   qrpPreview.PageNumber   <   MaxValue  
  end;  
   
  procedure   TReportForm.spePageChange(Sender:   TObject);  
  begin  
      inherited;  
   
      if   (spePage.Value   >=   spePage.MinValue)   and  
          (spePage.Value   <=   spePage.MaxValue)   then   begin  
          qrpPreview.PageNumber   :=   spePage.Value;  
          stbStatus.Panels.Text   :=   Format("%d-%d",  
              );  
      end  
  end;  
   
  procedure   TReportForm.qrpPreviewPageAvailable(Sender:   TObject;  
      PageNum:   Integer);  
  var  
      FText:   string;  
  begin  
      inherited;  
   
      //   yjc   Add   This   2000.07.20     22:27  
      tlbtnZoomToWidth.Down   :=   True;  
      actZoomToWidth.Execute;  
      FPageCount   :=   QRPrinter.PageCount;  
      spePage.MaxValue   :=   PageNum;  
      stbStatus.Panels.Text   :=   Format("1-%d",   );  
   
      FText   :=   QRPrinter.Title;  
      if   FText   <>   EmptyStr   then  
          FText   :=   FText   +   "   -   ";  
      case   QRPrinter.Status   of  
          mpReady:   FText   :=   FText   +   SQRReady;  
          mpBusy:   begin  
          FText   :=   FText   +   SQRBusy;  
              EnableActions(False)  
          end;  
          mpFinished:   begin  
                  FText   :=   FText   +   SQRFinished;  
                  spePage.Value   :=   1;  
                  EnableActions(True)  
              end  
      end;  
      stbStatus.Panels.Text   :=   FText;  
  end;  
   
  procedure   TReportForm.actPrintExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      with   Sender   as   TAction   do   begin  
          Enabled   :=   False;  
          QRPrinter.Print;  
          Enabled   :=   True  
      end  
  end;  
   
  procedure   TReportForm.actPrintSetupExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      QRPrinter.PrintSetup  
  end;  
   
  procedure   TReportForm.actOpenExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      if   OpenDialog.Execute   then   begin  
          if   FileExists(OpenDialog.FileName)   then   begin  
              QRPrinter.Load(OpenDialog.FileName);  
              qrpPreviewPageAvailable(nil,   QRPrinter.PageCount);  
              qrpPreview.PreviewImage.PageNumber   :=   1;  
          end  
      end  
  end;  
   
  procedure   TReportForm.EnableActions(const   AEnabled:   Boolean);  
  var  
      i:   Integer;  
  begin  
      for   i   :=   0   to   alActions.ActionCount   -   1   do  
          (alActions   as   TAction).Enabled   :=   AEnabled;  
      speZoom.Enabled   :=   AEnabled;  
      spePage.Enabled   :=   AEnabled;  
  end;  
   
  procedure   TReportForm.actRptSaveExecute(Sender:   TObject);  
  var  
      AExportFilter:   TQRExportFilter;  
  begin  
      inherited;  
   
      SaveDialog.Filter   :=   QRExportFilterLibrary.SaveDialogFilterString;  
      if   SaveDialog.Execute   then  
          if   SaveDialog.FilterIndex   =   1   then  
              QRPrinter.Save(SaveDialog.FileName)  
          else   begin  
              AExportFilter   :=   TQRExportFilterLibraryEntry(  
              QRExportFilterLibrary.Filters).  
                  ExportFilterClass.Create(SaveDialog.Filename);  
              try  
                  QRPrinter.ExportToFilter(AExportFilter);  
              finally  
                  AExportFilter.Free  
              end  
          end  
  end;  
   
  procedure   TReportForm.actCloseExecute(Sender:   TObject);  
  begin  
      TControlForm(ParentForm).ClosingReport;  
      Back  
  end;  
   
  procedure   TReportForm.FormCreate(Sender:   TObject);  
  begin  
      inherited;  
   
      AutoBack   :=   True  
  end;  
   
  end.  
   
  Top

4 楼smallBridge(萧秋雨)回复于 2002-05-14 15:38:48 得分 0

什么是对“三个不同的报表”进行预览?  
  Top

5 楼chechy(www.qdocuments.net)回复于 2002-05-14 15:40:51 得分 0

unit   RptFrm;  
   
  interface  
   
  uses  
      SysUtils,   Classes,   Controls,   NrmlFrm,   QRPrntr,   ActnList,   ImgList,   ComCtrls,  
      ToolWin,   Forms,   StdCtrls,   Spin,   Dialogs;  
   
  type  
      TReportForm   =   class(TForm)  
          qrpPreview:   TQRPreview;  
          tlbtnZoomToFit:   TToolButton;  
          tlbtnActualSize:   TToolButton;  
          tlbtnZoomToWidth:   TToolButton;  
          tlbtnSprt1:   TToolButton;  
          tlbtnFirst:   TToolButton;  
          tlbtnPrior:   TToolButton;  
          tlbtnNext:   TToolButton;  
          tlbtnLast:   TToolButton;  
          tlbtnSprt2:   TToolButton;  
          tlbtnPrintSetup:   TToolButton;  
          tlbtnPrint:   TToolButton;  
          tlbtnSprt3:   TToolButton;  
          tlbtnOpen:   TToolButton;  
          tlbtnSave:   TToolButton;  
          tlbtnSprt4:   TToolButton;  
          tlbtnExit:   TToolButton;  
          spePage:   TSpinEdit;  
          lblZoom:   TLabel;  
          speZoom:   TSpinEdit;  
          lblPage:   TLabel;  
          actZoomToFit:   TAction;  
          actActualSize:   TAction;  
          actZoomToWidth:   TAction;  
          actFirst:   TAction;  
          actPrior:   TAction;  
          actNext:   TAction;  
          actLast:   TAction;  
          actPrintSetup:   TAction;  
          actPrint:   TAction;  
          actOpen:   TAction;  
          actExit:   TAction;  
          stbStatus:   TStatusBar;  
          OpenDialog:   TOpenDialog;  
          SaveDialog:   TSaveDialog;  
          actRptSave:   TAction;  
          procedure   FormCloseQuery(Sender:   TObject;   var   CanClose:   Boolean);  
          procedure   actExitExecute(Sender:   TObject);  
          procedure   actZoomToFitExecute(Sender:   TObject);  
          procedure   actActualSizeExecute(Sender:   TObject);  
          procedure   actZoomToWidthExecute(Sender:   TObject);  
          procedure   speZoomChange(Sender:   TObject);  
          procedure   actFirstExecute(Sender:   TObject);  
          procedure   actPriorExecute(Sender:   TObject);  
          procedure   actLastExecute(Sender:   TObject);  
          procedure   actFirstUpdate(Sender:   TObject);  
          procedure   actNextUpdate(Sender:   TObject);  
          procedure   spePageChange(Sender:   TObject);  
          procedure   qrpPreviewPageAvailable(Sender:   TObject;   PageNum:   Integer);  
          procedure   actPrintExecute(Sender:   TObject);  
          procedure   actPrintSetupExecute(Sender:   TObject);  
          procedure   actOpenExecute(Sender:   TObject);  
          procedure   actRptSaveExecute(Sender:   TObject);  
          procedure   actCloseExecute(Sender:   TObject);  
          procedure   FormCreate(Sender:   TObject);  
      private  
          {   Private   declarations   }  
          FPageCount:   Integer;  
   
          function   GetQRPrinter:   TQRPrinter;  
          procedure   SetQRPrinter(const   Value:   TQRPrinter);  
          procedure   EnableActions(const   AEnabled:   Boolean);  
      public  
          {   Public   declarations   }  
          property   QRPrinter:   TQRPrinter   read   GetQRPrinter   write   SetQRPrinter;  
   
          procedure   Back;  
      end;  
   
  implementation  
   
  uses   StdTypes,   CtrlFrm;  
   
  {$R   *.DFM}  
   
  {   TReportForm   }  
   
  function   TReportForm.GetQRPrinter:   TQRPrinter;  
  begin  
      Result   :=   qrpPreview.QRPrinter  
  end;  
   
  procedure   TReportForm.SetQRPrinter(const   Value:   TQRPrinter);  
  begin  
      qrpPreview.QRPrinter   :=   Value  
  end;  
   
  procedure   TReportForm.FormCloseQuery(Sender:   TObject;  
      var   CanClose:   Boolean);  
  begin  
      QRPrinter   :=   nil;  
   
      inherited;  
  end;  
   
  procedure   TReportForm.Back;  
  begin  
      QRPrinter   :=   nil;  
  //     NextPage   :=   PrevPage;  
  //     ChangePage  
  end;  
   
  procedure   TReportForm.actExitExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      Back  
  end;  
   
  procedure   TReportForm.actZoomToFitExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      qrpPreview.ZoomToFit;  
      speZoom.Value   :=   qrpPreview.Zoom;  
      (Sender   as   TAction).Checked   :=   True  
  end;  
   
  procedure   TReportForm.actActualSizeExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      speZoom.Value   :=   100;  
      (Sender   as   TAction).Checked   :=   True  
  end;  
   
  procedure   TReportForm.actZoomToWidthExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      qrpPreview.ZoomToWidth;  
      speZoom.Value   :=   qrpPreview.Zoom;  
      actZoomToWidth.Checked   :=   True  
  end;  
   
  procedure   TReportForm.speZoomChange(Sender:   TObject);  
  begin  
      inherited;  
   
      qrpPreview.Zoom   :=   speZoom.Value  
  end;  
   
  procedure   TReportForm.actFirstExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      spePage.Value   :=   1;  
  end;  
   
  procedure   TReportForm.actPriorExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      with   Sender   as   TAction   do  
          spePage.Value   :=   qrpPreview.PageNumber   +   Tag  
  end;  
   
  procedure   TReportForm.actLastExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      spePage.Value   :=   FPageCount  
  end;  
   
  procedure   TReportForm.actFirstUpdate(Sender:   TObject);  
  begin  
      inherited;  
   
      with   spePage   do  
          (Sender   as   TAction).Enabled   :=   qrpPreview.PageNumber   >   MinValue;  
      spePage.Enabled   :=   spePage.MaxValue   >   spePage.MinValue;  
  end;  
   
  procedure   TReportForm.actNextUpdate(Sender:   TObject);  
  begin  
      inherited;  
   
      with   spePage   do  
          (Sender   as   TAction).Enabled   :=   qrpPreview.PageNumber   <   MaxValue  
  end;  
   
  procedure   TReportForm.spePageChange(Sender:   TObject);  
  begin  
      inherited;  
   
      if   (spePage.Value   >=   spePage.MinValue)   and  
          (spePage.Value   <=   spePage.MaxValue)   then   begin  
          qrpPreview.PageNumber   :=   spePage.Value;  
          stbStatus.Panels.Text   :=   Format("%d-%d",  
              );  
      end  
  end;  
   
  procedure   TReportForm.qrpPreviewPageAvailable(Sender:   TObject;  
      PageNum:   Integer);  
  var  
      FText:   string;  
  begin  
      inherited;  
   
      //   yjc   Add   This   2000.07.20     22:27  
      tlbtnZoomToWidth.Down   :=   True;  
      actZoomToWidth.Execute;  
      FPageCount   :=   QRPrinter.PageCount;  
      spePage.MaxValue   :=   PageNum;  
      stbStatus.Panels.Text   :=   Format("1-%d",   );  
   
      FText   :=   QRPrinter.Title;  
      if   FText   <>   EmptyStr   then  
          FText   :=   FText   +   "   -   ";  
      case   QRPrinter.Status   of  
          mpReady:   FText   :=   FText   +   SQRReady;  
          mpBusy:   begin  
          FText   :=   FText   +   SQRBusy;  
              EnableActions(False)  
          end;  
          mpFinished:   begin  
                  FText   :=   FText   +   SQRFinished;  
                  spePage.Value   :=   1;  
                  EnableActions(True)  
              end  
      end;  
      stbStatus.Panels.Text   :=   FText;  
  end;  
   
  procedure   TReportForm.actPrintExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      with   Sender   as   TAction   do   begin  
          Enabled   :=   False;  
          QRPrinter.Print;  
          Enabled   :=   True  
      end  
  end;  
   
  procedure   TReportForm.actPrintSetupExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      QRPrinter.PrintSetup  
  end;  
   
  procedure   TReportForm.actOpenExecute(Sender:   TObject);  
  begin  
      inherited;  
   
      if   OpenDialog.Execute   then   begin  
          if   FileExists(OpenDialog.FileName)   then   begin  
              QRPrinter.Load(OpenDialog.FileName);  
              qrpPreviewPageAvailable(nil,   QRPrinter.PageCount);  
              qrpPreview.PreviewImage.PageNumber   :=   1;  
          end  
      end  
  end;  
   
  procedure   TReportForm.EnableActions(const   AEnabled:   Boolean);  
  var  
      i:   Integer;  
  begin  
      for   i   :=   0   to   alActions.ActionCount   -   1   do  
          (alActions   as   TAction).Enabled   :=   AEnabled;  
      speZoom.Enabled   :=   AEnabled;  
      spePage.Enabled   :=   AEnabled;  
  end;  
   
  procedure   TReportForm.actRptSaveExecute(Sender:   TObject);  
  var  
      AExportFilter:   TQRExportFilter;  
  begin  
      inherited;  
   
      SaveDialog.Filter   :=   QRExportFilterLibrary.SaveDialogFilterString;  
      if   SaveDialog.Execute   then  
          if   SaveDialog.FilterIndex   =   1   then  
              QRPrinter.Save(SaveDialog.FileName)  
          else   begin  
              AExportFilter   :=   TQRExportFilterLibraryEntry(  
              QRExportFilterLibrary.Filters).  
                  ExportFilterClass.Create(SaveDialog.Filename);  
              try  
                  QRPrinter.ExportToFilter(AExportFilter);  
              finally  
                  AExportFilter.Free  
              end  
          end  
  end;  
   
  procedure   TReportForm.actCloseExecute(Sender:   TObject);  
  begin  
      //TControlForm(ParentForm).ClosingReport;  
      Back  
  end;  
   
  end.  
   
  Top

6 楼zhuzf(一头雾水)回复于 2002-05-14 15:42:31 得分 0

To   smallbridge()   :  
   我要用这一个预览界面预览三个内容不一样的报表!Top

7 楼andyting(andyting)回复于 2002-05-14 15:53:53 得分 0

一个预览界面预览三个内容不一样的报表  
  不可以吧!Top

8 楼ihihonline(潇潇->戒烟)回复于 2002-05-14 16:15:45 得分 0

unit   mypriv;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Classes,   Graphics,   Controls,   Forms,   Dialogs,  
      QRPrntr,   StdCtrls,   Buttons,   ToolWin,   ComCtrls,   ExtCtrls;  
   
  type  
      TForm2   =   class(TForm)  
          QRPreview1:   TQRPreview;  
          ToolBar1:   TToolBar;  
          SpeedButton1:   TSpeedButton;  
          SpeedButton2:   TSpeedButton;  
          SpeedButton3:   TSpeedButton;  
          SpeedButton4:   TSpeedButton;  
          SpeedButton5:   TSpeedButton;  
          SpeedButton6:   TSpeedButton;  
          SpeedButton7:   TSpeedButton;  
          SpeedButton8:   TSpeedButton;  
          SpeedButton9:   TSpeedButton;  
          SpeedButton10:   TSpeedButton;  
          SpeedButton11:   TSpeedButton;  
          Bevel3:   TBevel;  
          Bevel4:   TBevel;  
          FontDialog1:   TFontDialog;  
          Bevel1:   TBevel;  
          StatusBar1:   TStatusBar;  
          procedure   BitBtn1Click(Sender:   TObject);  
          procedure   FormCreate(Sender:   TObject);  
          procedure   SpeedButton4Click(Sender:   TObject);  
          procedure   SpeedButton1Click(Sender:   TObject);  
          procedure   SpeedButton2Click(Sender:   TObject);  
          procedure   SpeedButton3Click(Sender:   TObject);  
          procedure   SpeedButton6Click(Sender:   TObject);  
          procedure   SpeedButton5Click(Sender:   TObject);  
          procedure   SpeedButton8Click(Sender:   TObject);  
          procedure   SpeedButton10Click(Sender:   TObject);  
          procedure   SpeedButton9Click(Sender:   TObject);  
          procedure   SpeedButton7Click(Sender:   TObject);  
          procedure   SpeedButton11Click(Sender:   TObject);  
      private  
        i:integer;   {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form2:   TForm2;  
   
  implementation  
   
   
  {$R   *.DFM}  
   
  procedure   TForm2.BitBtn1Click(Sender:   TObject);  
  begin  
      close;  
  end;  
   
  procedure   TForm2.FormCreate(Sender:   TObject);  
  begin  
        i:=100;  
  end;  
   
  procedure   TForm2.SpeedButton4Click(Sender:   TObject);  
  begin  
      close;  
  end;  
   
  procedure   TForm2.SpeedButton1Click(Sender:   TObject);  
  begin  
        i:=i+5;  
        qrpreview1.Zoom:=i;  
  end;  
   
  procedure   TForm2.SpeedButton2Click(Sender:   TObject);  
  begin  
      i:=i-5;  
      qrpreview1.Zoom:=i;  
  end;  
   
  procedure   TForm2.SpeedButton3Click(Sender:   TObject);  
  begin  
        QRPreview1.QRPrinter.Print;  
  end;  
   
  procedure   TForm2.SpeedButton6Click(Sender:   TObject);  
  begin  
        i:=100;  
        qrpreview1.Zoom:=90;  
  end;  
   
  procedure   TForm2.SpeedButton5Click(Sender:   TObject);  
  begin  
      qrpreview1.Zoom:=100;  
  end;  
   
  procedure   TForm2.SpeedButton8Click(Sender:   TObject);  
  begin  
        qrpreview1.PageNumber:=1;  
  end;  
   
  procedure   TForm2.SpeedButton10Click(Sender:   TObject);  
  begin  
        qrpreview1.PageNumber:=qrpreview1.PageNumber-1;  
  end;  
  procedure   TForm2.SpeedButton9Click(Sender:   TObject);  
  begin  
        qrpreview1.PageNumber:=qrpreview1.PageNumber+1;  
  end;  
   
  procedure   TForm2.SpeedButton7Click(Sender:   TObject);  
  begin  
          qrpreview1.PageNumber:=qrpreview1.QRPrinter.PageCount;  
  end;  
   
  procedure   TForm2.SpeedButton11Click(Sender:   TObject);  
  begin  
          qrpreview1.QRPrinter.PrintSetup;  
  end;  
   
  end.Top

9 楼ihihonline(潇潇->戒烟)回复于 2002-05-14 16:16:31 得分 0

unit   mypriv;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Classes,   Graphics,   Controls,   Forms,   Dialogs,  
      QRPrntr,   StdCtrls,   Buttons,   ToolWin,   ComCtrls,   ExtCtrls;  
   
  type  
      TForm2   =   class(TForm)  
          QRPreview1:   TQRPreview;  
          ToolBar1:   TToolBar;  
          SpeedButton1:   TSpeedButton;  
          SpeedButton2:   TSpeedButton;  
          SpeedButton3:   TSpeedButton;  
          SpeedButton4:   TSpeedButton;  
          SpeedButton5:   TSpeedButton;  
          SpeedButton6:   TSpeedButton;  
          SpeedButton7:   TSpeedButton;  
          SpeedButton8:   TSpeedButton;  
          SpeedButton9:   TSpeedButton;  
          SpeedButton10:   TSpeedButton;  
          SpeedButton11:   TSpeedButton;  
          Bevel3:   TBevel;  
          Bevel4:   TBevel;  
          FontDialog1:   TFontDialog;  
          Bevel1:   TBevel;  
          StatusBar1:   TStatusBar;  
          procedure   BitBtn1Click(Sender:   TObject);  
          procedure   FormCreate(Sender:   TObject);  
          procedure   SpeedButton4Click(Sender:   TObject);  
          procedure   SpeedButton1Click(Sender:   TObject);  
          procedure   SpeedButton2Click(Sender:   TObject);  
          procedure   SpeedButton3Click(Sender:   TObject);  
          procedure   SpeedButton6Click(Sender:   TObject);  
          procedure   SpeedButton5Click(Sender:   TObject);  
          procedure   SpeedButton8Click(Sender:   TObject);  
          procedure   SpeedButton10Click(Sender:   TObject);  
          procedure   SpeedButton9Click(Sender:   TObject);  
          procedure   SpeedButton7Click(Sender:   TObject);  
          procedure   SpeedButton11Click(Sender:   TObject);  
      private  
        i:integer;   {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form2:   TForm2;  
   
  implementation  
   
   
  {$R   *.DFM}  
   
  procedure   TForm2.BitBtn1Click(Sender:   TObject);  
  begin  
      close;  
  end;  
   
  procedure   TForm2.FormCreate(Sender:   TObject);  
  begin  
        i:=100;  
  end;  
   
  procedure   TForm2.SpeedButton4Click(Sender:   TObject);  
  begin  
      close;  
  end;  
   
  procedure   TForm2.SpeedButton1Click(Sender:   TObject);  
  begin  
        i:=i+5;  
        qrpreview1.Zoom:=i;  
  end;  
   
  procedure   TForm2.SpeedButton2Click(Sender:   TObject);  
  begin  
      i:=i-5;  
      qrpreview1.Zoom:=i;  
  end;  
   
  procedure   TForm2.SpeedButton3Click(Sender:   TObject);  
  begin  
        QRPreview1.QRPrinter.Print;  
  end;  
   
  procedure   TForm2.SpeedButton6Click(Sender:   TObject);  
  begin  
        i:=100;  
        qrpreview1.Zoom:=90;  
  end;  
   
  procedure   TForm2.SpeedButton5Click(Sender:   TObject);  
  begin  
      qrpreview1.Zoom:=100;  
  end;  
   
  procedure   TForm2.SpeedButton8Click(Sender:   TObject);  
  begin  
        qrpreview1.PageNumber:=1;  
  end;  
   
  procedure   TForm2.SpeedButton10Click(Sender:   TObject);  
  begin  
        qrpreview1.PageNumber:=qrpreview1.PageNumber-1;  
  end;  
  procedure   TForm2.SpeedButton9Click(Sender:   TObject);  
  begin  
        qrpreview1.PageNumber:=qrpreview1.PageNumber+1;  
  end;  
   
  procedure   TForm2.SpeedButton7Click(Sender:   TObject);  
  begin  
          qrpreview1.PageNumber:=qrpreview1.QRPrinter.PageCount;  
  end;  
   
  procedure   TForm2.SpeedButton11Click(Sender:   TObject);  
  begin  
          qrpreview1.QRPrinter.PrintSetup;  
  end;  
   
  end.Top

10 楼ihihonline(潇潇->戒烟)回复于 2002-05-14 16:20:57 得分 0

打印多个表  
  ith   QRCompositeReport1.Reports   do  
  begin  
      Clear;  
      if   radiobutton1.Checked   then  
      begin  
      add(form1.quickrep1);  
      exit;  
      end;  
      add(dy_gbllbform.QuickRep1   );  
      add(dy_gbllb_1form.QuickRep1   );  
      add(dy_gbllb_2form.quickrep1);  
      add(dy_gbllb_3form.quickrep1);  
      add(dy_gbllb_4form.quickrep1);  
        add(dy_gbllb_4form.quickrep1);  
        add(dy_gbllb_4form.quickrep1);  
      add(dy_gbllb_5form.quickrep1);  
          add(dy_gbllb_5form.quickrep1);  
          add(dy_gbllb_5form.quickrep1);  
      add(dy_gbllb_6form.quickrep1);  
      add(dy_gbllb_7form.quickrep1);  
      add(dy_gbllb_8form.quickrep1);  
    end;  
  end;  
  Top

11 楼chinaway(溪之)回复于 2002-05-14 16:57:00 得分 0

为什么我的问题没有人回答呀!是DLL做一个打印Top

12 楼ihihonline(潇潇->戒烟)回复于 2002-05-14 17:19:43 得分 0

下边也是一种多表打印的方法  
  procedure   TForm.QRCompositeReport1AddReports(Sender:   TObject);  
  begin  
      with   QRCompositeReport1.Reports   do  
        begin  
            clear;  
            if   radiobutton1.Checked   then  
            begin  
                add(form3.QuickRep1);  
                exit;  
            end;  
            add(form3.QuickRep1);  
            add(form4.quickrep1);  
            add(form5.quickrep1);  
            add(Form6.QuickRep1);  
            add(Form7.QuickRep1   );  
            add(Form8.QuickRep1   )   ;  
            end;  
        end;  
  end;Top

13 楼make11111(孙少平)回复于 2002-05-15 11:42:10 得分 0

gz!!!!Top

责任编辑: efish 参与评论 查找更多:
相关文章
设想用一个公用函数来控制所有combobox内容的动态生… 设想用一个公用函数来控制所有combobox内容的动态生成,参数如何写才好?
典型问题:怎么实现两个类之间的变量或函数调用?高… 典型问题:怎么实现两个类之间的变量或函数调用?高分--
求教关于域名设置的问题 求教关于域名设置的问题
请问这个问题那里有错? 请问这个问题那里有错?
java.net.MalformedURLException: no protocol: lin… java.net.MalformedURLException: no protocol: links.xml
有关多线程检查数据库中的图片连接 有关多线程检查数据库中的图片连接
哪位看过《GP与STL》的请发表一下意见 哪位看过《GP与STL》的请发表一下意见
求教列为兄弟姐妹Oracle的Rule相关技术,俺望眼欲穿… 求教列为兄弟姐妹Oracle的Rule相关技术,俺望眼欲穿,急迫
pb中引入Flash pb中引入Flash
大家使用什么编译器? 大家使用什么编译器?
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎