亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qrprev.pas

?? delphi7報表打印控件源碼 可以設計報表
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
{ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  :: QuickReport 4.0 for Delphi and C++Builder               ::
  ::                                                         ::
  :: QRPREV.PAS - QUICKREPORT STANDARD PREVIEW FORM          ::
  ::                                                         ::
  :: Copyright (c) 2003 A Lochert / QBS Software             ::
  :: All Rights Reserved                                     ::
  ::                                                         ::
  :: http://www.qusoft.com                                   ::
  :: 5/12/2003  new preview for 4                            ::
  ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: }

{$I QRDEFS.INC}

unit QRPrev;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons, QRPrntr, QR4const, QRExtra, ComCtrls, ToolWin,
  Menus, ImgList, Grids, printers, jpeg, QRExport, QRWebFilt, QRPDFFilt;

type
  TQRStandardPreview = class(TForm)
    StatusBar: TStatusBar;
    ToolBar1: TToolBar;
    ZoomFit: TToolButton;
    Zoom100: TToolButton;
    ZoomToWidth: TToolButton;
    FirstPage: TToolButton;
    PreviousPage: TToolButton;
    ToolButton2: TToolButton;
    LastPage: TToolButton;
    PrintSetup: TToolButton;
    Print: TToolButton;
    SaveReport: TToolButton;
    LoadReport: TToolButton;
    Images: TImageList;
    ToolButton1: TToolButton;
    ExitButton: TSpeedButton;
    QRPreview: TQRPreview;
    Splitter1: TSplitter;
    Spacer2: TToolButton;
    Tabs: TPageControl;
    TabThumbs: TTabSheet;
    TabSearchResult: TTabSheet;
    Splitter2: TSplitter;
    GroupBox1: TGroupBox;
    SearchResultBox: TListBox;
    SearchTextLabel: TLabel;
    ThumbGrid: TDrawGrid;
    Spacer3: TToolButton;
    Spacer4: TToolButton;
    FindButton: TToolButton;
    Spacer1: TToolButton;
    GotoPageButton: TToolButton;
    Spacer5: TToolButton;
    PopupMenu1: TPopupMenu;
    JPG1: TMenuItem;
    N1: TMenuItem;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ZoomToFitClick(Sender: TObject);
    procedure ZoomTo100Click(Sender: TObject);
    procedure ZoomToWidthClick(Sender: TObject);
    procedure FirstPageClick(Sender: TObject);
    procedure PrevPageClick(Sender: TObject);
    procedure NextPageClick(Sender: TObject);
    procedure LastPageClick(Sender: TObject);
    procedure PrintClick(Sender: TObject);
    procedure ExitClick(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure SaveClick(Sender: TObject);
    procedure PrintSetupClick(Sender: TObject);
    procedure LoadClick(Sender: TObject);
    procedure QRPreviewPageAvailable(Sender: TObject; PageNum: Integer);
    procedure QRPreviewProgressUpdate(Sender: TObject; Progress: Integer);
    procedure FormCreate(Sender: TObject);
    procedure QRPreviewHyperlink(Sender: TObject; EventType: TQRHyperlinkEventType; Link: string; var Handled: Boolean);
    procedure OutlineViewChange(Sender: TObject; Node: TTreeNode);
    procedure ThumbGridDrawCell(Sender: TObject; ACol, ARow: Integer; ARect: TRect; State: TGridDrawState);
    procedure ThumbGridSelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
    procedure FindButtonClick(Sender: TObject);
    procedure GotoPageButtonClick(Sender: TObject);
    procedure JPG1Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
  private
    FQRPrinter: TQRPrinter;
    FReportOrientation: TPrinterOrientation;
    Gauge: TProgressBar;
    LastProgress: integer;
    ThumbFontHeight,
      ThumbDrawHeight,
      ThumbDrawWidth,
      ThumbTopMargin,
      ThumbLeftMargin: integer;
    ShowThumbs, ShowSearch: boolean;
    InitZoom: TQRZoomstate;
  public
    constructor CreatePreview(AOwner: TComponent; aQRPrinter: TQRPrinter); virtual;
    procedure Show;
    procedure UpdateInfo;
    procedure SelectPage(aPageNumber: integer);
    procedure ResizeThumb(Sender: TObject);
    function GetTextSearch(var MatchCase: boolean; var AText: string): boolean;
    property QRPrinter: TQRPrinter read FQRPrinter write FQRPrinter;
  end;

  TResizeGrid = class(TDrawGrid)
  public
    property OnResize;
  end;

implementation

uses
  qrsearchdlg, quickrpt;
var
  ThumbUpdating: boolean;
  ReportTitle: string;
//  QRSearch;
{$R *.DFM}

constructor TQRStandardPreview.CreatePreview(AOwner: TComponent; aQRPrinter: TQRPrinter);
begin
  inherited Create(AOwner);
  QRPrinter := aQRPrinter;
  if qrprinter.parentreport is TCustomquickrep then
  begin
    FormStyle := TCustomquickrep(qrprinter.ParentReport).PrevFormstyle;
    width := TCustomquickrep(qrprinter.ParentReport).PreviewWidth;
    height := TCustomquickrep(qrprinter.ParentReport).Previewheight;
    WindowState := TCustomquickrep(qrprinter.ParentReport).PreviewInitialState;
    ShowThumbs := TCustomquickrep(qrprinter.ParentReport).PrevShowThumbs;
    ShowSearch := TCustomquickrep(qrprinter.ParentReport).PrevShowSearch;
    InitZoom := TCustomquickrep(qrprinter.ParentReport).PrevInitialZoom;
    reportTitle := TCustomquickrep(qrprinter.ParentReport).ReportTitle;
    FReportOrientation := TCustomquickrep(qrprinter.ParentReport).Page.Orientation;
  end
  else
  begin // this should never happen
    WindowState := wsMaximized;
    ShowThumbs := true;
    ShowSearch := true;
  end;
  QRPreview.QRPrinter := aQRPrinter;
  if (QRPrinter <> nil) and (QRPrinter.Title <> '') then Caption := QRPrinter.Title;
  Gauge := TProgressBar.Create(Self);
  Gauge.Top := 2;
  Gauge.Left := 2;
  Gauge.Height := 10;
  Gauge.Width := 100;
  LastProgress := 0;
  Tabs.Visible := ShowThumbs or ShowSearch;
  TabThumbs.TabVisible := ShowThumbs;
  if not ShowSearch then
  begin
    TabSearchResult.TabVisible := false;
    findButton.Visible := false;
  end;
  if InitZoom = QRZoomtofit then
  begin
    QRPreview.ZoomToFit;
    ZoomFit.Down := true;
  end
  else if InitZoom = QRZoomtowidth then
  begin
    QRPreview.ZoomToWidth;
    ZoomToWidth.Down := true;
  end
  else
  begin
    QRPreview.Zoom := 100;
    QRPreview.UpdateZoom;
    Zoom100.Down := true;
  end;
  if qrprinter.status = mpFinished then
    Print.Enabled := true;
end;

procedure TQRStandardPreview.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  QRPrinter.ClosePreview(Self);
  //QRPrinter.ClosePreviewA(Self);
  Action := caFree;
end;

procedure TQRStandardPreview.UpdateInfo;
begin
  StatusBar.Panels[1].Text := SqrPage + ' ' + IntToStr(QRPreview.PageNumber) + ' ' +
    SqrOf + ' ' + IntToStr(QRPreview.QRPrinter.PageCount);

  StatusBar.Panels[2].Text := ReportTitle;

end;

procedure TQRStandardPreview.ZoomToFitClick(Sender: TObject);
begin
  Application.ProcessMessages;
  QRPreview.ZoomToFit;
end;

procedure TQRStandardPreview.ZoomTo100Click(Sender: TObject);
begin
  Application.ProcessMessages;
  QRPreview.Zoom := 100;
  QRPreview.UpdateZoom;
end;

procedure TQRStandardPreview.ZoomToWidthClick(Sender: TObject);
begin
  Application.ProcessMessages;
  QRPreview.ZoomToWidth;
end;

procedure TQRStandardPreview.SelectPage(aPageNumber: integer);
begin
  QRPreview.PageNumber := APageNumber;
  UpdateInfo;
  // set thumb row
  if (aPagenumber > 0) and (aPagenumber <= QRPrinter.PageCount) then
  begin
    ThumbUpdating := true;
    ThumbGrid.Row := APageNumber - 1;
    ThumbUpdating := false;
  end;
end;

procedure TQRStandardPreview.FirstPageClick(Sender: TObject);
begin
  SelectPage(1)
end;

procedure TQRStandardPreview.PrevPageClick(Sender: TObject);
begin
  SelectPage(QRPreview.PageNumber - 1);
end;

procedure TQRStandardPreview.NextPageClick(Sender: TObject);
begin
  SelectPage(QRPreview.PageNumber + 1);
end;

procedure TQRStandardPreview.LastPageClick(Sender: TObject);
begin
  SelectPage(QRPrinter.PageCount);
end;

procedure TQRStandardPreview.PrintClick(Sender: TObject);
begin
  QRPrinter.Print;
end;

procedure TQRStandardPreview.ExitClick(Sender: TObject);
begin
  Close;
end;

procedure TQRStandardPreview.FormResize(Sender: TObject);
begin
  QRPreview.UpdateZoom;
end;

procedure TQRStandardPreview.Show;
begin
  inherited Show;
  UpdateInfo;
end;

procedure TQRStandardPreview.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case Key of
    VK_Next: if Shift = [ssCtrl] then
        LastPageClick(Self)
      else
        NextPageClick(Self);
    VK_Prior: if Shift = [ssCtrl] then
        FirstPageClick(Self)
      else
        PrevPageClick(Self);
    VK_Home: FirstPageClick(Self);
    VK_End: LastPageClick(Self);
    VK_Escape: ExitClick(self)
  end;
end;

procedure TQRStandardPreview.SaveClick(Sender: TObject);
var
  aExportFilter: TQRExportFilter;
  FileExt: string;
  I: integer;
begin
  aExportFilter := nil;
  with TSaveDialog.Create(Application) do
  try
    Title := SqrSaveReport;
    Filter := QRExportFilterLibrary.SaveDialogFilterString;
    DefaultExt := cQRPDefaultExt;
    if Execute then
    begin
      if FilterIndex = 1 then
        QRPrinter.Save(Filename)
      else
      begin
        try
          aExportFilter := TQRExportFilterLibraryEntry(
            QRExportFilterLibrary.Filters[FilterIndex - 2]).ExportFilterClass.Create(Filename);
          QRPrinter.ExportToFilter(aExportFilter);
        finally
          aExportFilter.Free
        end
      end
    end;
  finally
    Free;
  end;
end;

procedure TQRStandardPreview.PrintSetupClick(Sender: TObject);
var
  prep: TCustomquickrep;
begin
  QRPrinter.PrintSetup;
  if qrprinter.ParentReport is TCustomquickrep then
  begin
    prep := TCustomquickrep(qrprinter.ParentReport);
    qrprinter.PrinterIndex := prep.PrinterSettings.printerindex;
    QRPrinter.aPrinterSettings.OutputBin := TQRBin(prep.UserPrinterSettings.CustomBinCode);
    QRPrinter.aPrinterSettings.Collate := prep.UserPrinterSettings.Collate;
    QRPrinter.aPrinterSettings.ColorOption := prep.UserPrinterSettings.ColorOption;
    QRPrinter.aPrinterSettings.PrintQuality := prep.UserPrinterSettings.PrintQuality;
    QRPrinter.aPrinterSettings.Copies := prep.UserPrinterSettings.Copies;
    QRPrinter.aPrinterSettings.Duplex := prep.UserPrinterSettings.ExtendedDuplex = 1;
    QRPrinter.aPrinterSettings.CustomBinCode := prep.UserPrinterSettings.CustomBinCode;
    QRPrinter.aPrinterSettings.UseCustomBinCode := prep.PrinterSettings.UseCustomBinCode;
    QRprinter.FirstPage := prep.PrinterSettings.FirstPage;
    QRprinter.LastPage := prep.PrinterSettings.LastPage;
    QRPrinter.aPrinterSettings.Duplex := prep.UserPrinterSettings.Duplex;
  end;
end;

procedure TQRStandardPreview.LoadClick(Sender: TObject);
begin
  with TOpenDialog.Create(Application) do
  try
    Title := SqrLoadReport;
    Filter := SqrQRFile + ' (*.' + cQRPDefaultExt + ')|*.' + cqrpDefaultExt;
    if Execute then
      if FileExists(FileName) then
      begin
        QRPrinter.Load(Filename);
        reportTitle := filename;
        QRPreview.PageNumber := 1;
        QRPreview.PreviewImage.PageNumber := 1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图一区二区| 亚洲国产精品传媒在线观看| 国产一区二区三区不卡在线观看 | 精品成人a区在线观看| heyzo一本久久综合| 日韩va亚洲va欧美va久久| 国产精品毛片久久久久久久| 日韩一二三区不卡| 色婷婷综合久久久久中文一区二区| 国产在线国偷精品免费看| 一区二区久久久久| 《视频一区视频二区| 成人国产精品免费观看| 午夜伦理一区二区| 中文字幕亚洲一区二区va在线| 精品三级在线观看| 在线不卡的av| 91黄色小视频| 成人高清免费观看| 国产精品一区专区| 国产真实乱子伦精品视频| 亚洲h精品动漫在线观看| 又紧又大又爽精品一区二区| 欧美激情在线看| 久久综合色鬼综合色| 日韩一区二区免费视频| 欧美电影在线免费观看| 欧美性三三影院| 在线看国产一区二区| 一本到一区二区三区| 99精品欧美一区二区三区小说| 国产麻豆午夜三级精品| 国产资源在线一区| 国内精品嫩模私拍在线| 精品一区二区三区不卡| 久久国产精品色婷婷| 久久99精品久久久| 国产一区二区三区久久久| 日韩精品免费视频人成| 欧美96一区二区免费视频| 日韩精品亚洲一区| 美女视频一区在线观看| 蜜桃视频在线观看一区| 经典三级一区二区| 国产风韵犹存在线视精品| 国产成人av电影| 99久久精品99国产精品| 色婷婷精品久久二区二区蜜臀av| 99久久伊人网影院| 在线免费观看不卡av| 欧美日韩二区三区| 日韩欧美国产不卡| 久久免费美女视频| 国产精品美女久久久久aⅴ国产馆| 国产精品国产三级国产三级人妇 | 国产亚洲欧美中文| 国产精品美日韩| 亚洲伦理在线免费看| 亚洲国产精品久久人人爱| 日本三级亚洲精品| 国产一区二区三区久久久| 99麻豆久久久国产精品免费 | av在线免费不卡| 日本乱码高清不卡字幕| 91精品国模一区二区三区| 精品国产乱码久久久久久影片| 久久奇米777| 日韩一区在线看| 日韩国产精品久久久| 国产精品99久久久久久有的能看| av亚洲产国偷v产偷v自拍| 欧美日韩一二三区| 久久久久久免费| 一区二区三区精密机械公司| 日韩av电影免费观看高清完整版 | 色综合久久综合网| 91精品国产91久久久久久一区二区 | 国产成人aaa| 97久久超碰精品国产| 欧美日韩激情在线| 久久网这里都是精品| 亚洲天堂av一区| 青青草伊人久久| 99久久婷婷国产综合精品电影| 欧美日韩一区二区三区在线看| 2023国产精华国产精品| 亚洲免费观看高清完整版在线观看| 日本免费在线视频不卡一不卡二 | 不卡的电视剧免费网站有什么| 欧美日韩一区二区三区不卡| www一区二区| 亚洲成人www| 国产不卡视频在线观看| 91麻豆精品国产91久久久久久久久| 国产日韩三级在线| 视频在线观看一区| 欧美韩日一区二区三区四区| 亚洲一级二级在线| 粉嫩av一区二区三区粉嫩| 91精品国产综合久久久久久漫画| 国产精品久久久久久久裸模| 免费观看在线色综合| 色先锋资源久久综合| 久久色在线观看| 日日摸夜夜添夜夜添亚洲女人| 99国产精品国产精品毛片| 精品欧美乱码久久久久久1区2区| 亚洲一区二区三区四区的| 成人黄色国产精品网站大全在线免费观看| 9191久久久久久久久久久| 成人欧美一区二区三区| 国产乱码字幕精品高清av | 日韩一区二区三区在线| 亚洲一区在线观看网站| 成人av在线一区二区三区| 久久久精品蜜桃| 日本中文一区二区三区| 欧美性videosxxxxx| 亚洲精品欧美综合四区| 成人天堂资源www在线| 国产色产综合产在线视频| 老司机精品视频导航| 欧美一级二级三级蜜桃| 日韩有码一区二区三区| 欧美精品一区二区久久久| 亚洲线精品一区二区三区| 91在线国产福利| 国产精品久久久久久久浪潮网站 | 亚洲国产精品影院| 一本大道久久a久久精品综合| 国产精品三级av在线播放| 国产精品538一区二区在线| 久久精品在线免费观看| 国产传媒一区在线| 国产免费成人在线视频| 成人国产精品免费网站| 亚洲欧洲性图库| 99国产精品国产精品毛片| 亚洲欧美另类小说| 色88888久久久久久影院野外 | 国产老肥熟一区二区三区| 精品成人佐山爱一区二区| 国产精品18久久久久久久网站| 久久精品一区四区| 成人国产在线观看| 一区二区三区在线高清| 欧美私模裸体表演在线观看| 五月婷婷综合激情| 日韩精品一区在线| 国产福利电影一区二区三区| 国产精品久久久久影院| 精品一区二区三区香蕉蜜桃| 日韩专区一卡二卡| 日韩午夜精品视频| 韩国欧美国产1区| 国产精品入口麻豆原神| 色综合一个色综合| 亚洲网友自拍偷拍| 欧美一区二区三区啪啪| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品污www在线观看| 在线免费观看日本欧美| 日韩国产欧美在线播放| 精品第一国产综合精品aⅴ| 成人性视频免费网站| 亚洲小说欧美激情另类| 日韩精品一区二区三区三区免费| 国产成人av电影在线观看| 日韩一区在线免费观看| 91精品国产一区二区三区香蕉| 国产精品一区在线观看乱码| 亚洲激情校园春色| 日韩一区二区电影在线| 成人毛片在线观看| 丝袜诱惑制服诱惑色一区在线观看| 精品黑人一区二区三区久久| 不卡av在线网| 奇米精品一区二区三区四区| 国产精品卡一卡二卡三| 在线成人小视频| 成人国产亚洲欧美成人综合网 | 日本不卡一区二区三区高清视频| 日韩美女主播在线视频一区二区三区| 国产99久久久久久免费看农村| 亚洲综合一区在线| 欧美成人a∨高清免费观看| 一本在线高清不卡dvd| 精品在线一区二区| **网站欧美大片在线观看| 日韩三级免费观看| 色哟哟一区二区在线观看| 黄色精品一二区| 亚洲国产成人91porn| 国产精品日韩精品欧美在线| 日韩一二在线观看| 欧美影视一区二区三区| 风流少妇一区二区| 另类小说欧美激情| 亚洲成人黄色影院| 亚洲激情一二三区|