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

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

?? rpformpreview.pas

?? 醫院病歷管理簡易版,完全用DELPHI實現.
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
{*************************************************************************}
{ Rave Reports version 5.0                                                }
{ Copyright (c), 1995-2002, Nevrona Designs, all rights reserved          }
{*************************************************************************}

unit RpFormPreview;

interface

uses
  Windows, Messages, Graphics, Controls, Forms, Dialogs, StdCtrls,
  Buttons, ExtCtrls, Menus, ActnList, ImgList, ComCtrls, ToolWin,
  SysUtils, Classes, RpBase, RpFiler, RpRenderPrinter, RpRenderPreview,
  RpDefine, RpSystem, RpFormSetup;

type
  TRavePreviewForm = class(TForm)
    ScrollBox1: TScrollBox;
    ActionList1: TActionList;
    MainMenu1: TMainMenu;
    PopupMenu1: TPopupMenu;
    actnFile_Print: TAction;
    actnFile_Save: TAction;
    actnFile_Exit: TAction;
    actnFile_Open: TAction;
    sbarMain: TStatusBar;
    actnPage_First: TAction;
    actnPage_Next: TAction;
    actnPage_Previous: TAction;
    actnPage_Last: TAction;
    actnZoom_In: TAction;
    actnZoom_Out: TAction;
    actnZoom_PageWidth: TAction;
    actnZoom_Page: TAction;
    Page1: TMenuItem;
    Zoom1: TMenuItem;
    First1: TMenuItem;
    Next1: TMenuItem;
    Previous1: TMenuItem;
    Last1: TMenuItem;
    N2: TMenuItem;
    GotoPage1: TMenuItem;
    In1: TMenuItem;
    Out1: TMenuItem;
    N3: TMenuItem;
    Page2: TMenuItem;
    PageWidth1: TMenuItem;
    In2: TMenuItem;
    Out2: TMenuItem;
    ilstActions: TImageList;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    ToolButton14: TToolButton;
    dlogOpen: TOpenDialog;
    dlogSave: TSaveDialog;
    File1: TMenuItem;
    Open1: TMenuItem;
    SaveAs1: TMenuItem;
    Print1: TMenuItem;
    N1: TMenuItem;
    Exit1: TMenuItem;
    ZoomEdit: TEdit;
    PageEdit: TEdit;
    PageLabel: TPanel;
    Panel1: TPanel;
    Panel2: TPanel;
    ToolButton9: TToolButton;
    ToolButton15: TToolButton;
    Panel3: TPanel;
    PreviewTimer: TTimer;
    Panel4: TPanel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure NDRPreviewPageChange(Sender: TObject);
    procedure NDRPreviewZoomChange(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: word; Shift: TShiftState);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure actnFile_ExitExecute(Sender: TObject);
    procedure actnPage_GotoPageExecute(Sender: TObject);
    procedure actnZoom_InExecute(Sender: TObject);
    procedure actnZoom_OutExecute(Sender: TObject);
    procedure actnPage_PreviousExecute(Sender: TObject);
    procedure actnPage_NextExecute(Sender: TObject);
    procedure actnZoom_PageWidthExecute(Sender: TObject);
    procedure actnZoom_PageExecute(Sender: TObject);
    procedure actnFile_PrintExecute(Sender: TObject);
    procedure actnPage_FirstExecute(Sender: TObject);
    procedure actnPage_LastExecute(Sender: TObject);
    procedure actnPage_FirstUpdate(Sender: TObject);
    procedure actnPage_PreviousUpdate(Sender: TObject);
    procedure actnPage_NextUpdate(Sender: TObject);
    procedure actnPage_LastUpdate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure actnFile_SaveExecute(Sender: TObject);
    procedure actnFile_OpenExecute(Sender: TObject);
    procedure actnFile_PrintUpdate(Sender: TObject);
    procedure actnFile_SaveUpdate(Sender: TObject);
    procedure actnZoom_InUpdate(Sender: TObject);
    procedure actnZoom_OutUpdate(Sender: TObject);
    procedure actnZoom_PageWidthUpdate(Sender: TObject);
    procedure actnZoom_PageUpdate(Sender: TObject);
    procedure ZoomEditKeyPress(Sender: TObject; var Key: Char);
    procedure ZoomEditExit(Sender: TObject);
    procedure PageEditExit(Sender: TObject);
    procedure PageEditKeyPress(Sender: TObject; var Key: Char);
    procedure PreviewTimerTimer(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormShow(Sender: TObject);
  protected
    FPageNum: integer;
    FOnGenerate: TNotifyEvent;
    FInputFileName: string;
    FInputStream: TStream;
    FOnAfterPreviewPrint: TNotifyEvent;

    procedure AfterPreviewPrintEvent; virtual;
    procedure SetSaveOptions(SaveDialog: TSaveDialog);
    procedure NewRenderPage(Sender: TObject);
    procedure SetButtonState;
  public
    ReportSystem: TRvSystem;
    FormClosed: boolean;
    RvRenderPrinter: TRvRenderPrinter;
    RvRenderPreview: TRvRenderPreview;
    //
    procedure InitFromRPSystem;
    procedure OpenFile(const AFileName: string);
    class procedure PreviewFile(const AFileName: string);

    property PageNum: integer read FPageNum write FPageNum;
    property OnGenerate: TNotifyEvent read FOnGenerate write FOnGenerate;
    property OnAfterPreviewPrint: TNotifyEvent read FOnAfterPreviewPrint write FOnAfterPreviewPrint;
    property InputFileName: string read FInputFileName write FInputFileName;
    property InputStream: TStream read FInputStream write FInputStream;
  end;

var
  RavePreviewForm: TRavePreviewForm;

implementation

{$R *.dfm}

uses
  RpRender;

procedure TRavePreviewForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FormClosed := true;
end;

procedure TRavePreviewForm.NDRPreviewPageChange(Sender: TObject);
begin
  with RvRenderPreview do begin
    PageEdit.Text := IntToStr(CurrentPage);
    PageLabel.Caption := Trans('of') + ' ' + IntToStr(Pages);
    PageLabel.Width := self.canvas.TextWidth(PageLabel.Caption) + 8;
    sbarMain.SimpleText := Trans('Page') + ' ' + IntToStr(CurrentPage) +
     ' ' + Trans('of') + ' ' + IntToStr(Pages);
  end; { with }
end;

procedure TRavePreviewForm.NDRPreviewZoomChange(Sender: TObject);
var
  S1: string[10];
begin
  Str(RvRenderPreview.ZoomFactor:1:1,S1);
  ZoomEdit.Text := S1;
  if Assigned(RvRenderPreview.Image) then begin
    RvRenderPreview.RedrawPage;
  end; { if }
end;

procedure TRavePreviewForm.FormKeyDown(Sender: TObject; var Key: word; Shift: TShiftState);
var
  I1: integer;
begin
  case Key of
    vk_Up: begin
      if (Shift = []) or (Shift = [ssCtrl]) then begin
        with ScrollBox1.VertScrollBar do begin
          I1 := Position - Increment;
          if I1 < 0 then begin
            if RvRenderPreview.CurrentPage > 1 then begin
              RvRenderPreview.PrevPage;
              I1 := Range;
            end else begin
              I1 := 0;
            end; { else }
          end; { if }
          Position := I1;
          Key := 0;
        end; { with }
      end; { if }
    end;
    vk_Down: begin
      if (Shift = []) or (Shift = [ssCtrl]) then begin
        with ScrollBox1.VertScrollBar do begin
          I1 := Position + Increment;
          if I1 >= Range then begin
            I1 := Range - 1;
          end; { if }
          Position := I1;
          if (I1 > Position) and (RvRenderPreview.CurrentPage < RvRenderPreview.Pages) then begin
            RvRenderPreview.NextPage;
            Position := 0;
          end; { if }
          Key := 0;
        end; { with }
      end; { if }
    end;
    vk_Home: begin
      if (Shift = []) or (Shift = [ssCtrl]) then begin
        with ScrollBox1.VertScrollBar do begin
          Position := 0;
          Key := 0;
        end; { with }
      end; { if }
    end;
    vk_End: begin
      if (Shift = []) or (Shift = [ssCtrl]) then begin
        with ScrollBox1.VertScrollBar do begin
          Position := Range - 1;
          Key := 0;
        end; { with }
      end; { if }
    end;
    vk_Prior: begin
      if (Shift = []) or (Shift = [ssCtrl]) then begin
        with ScrollBox1.VertScrollBar do begin
          if (Position = 0) and (RvRenderPreview.CurrentPage > 1) then begin
            RvRenderPreview.PrevPage;
            SetButtonState;
            I1 := Range - 1;
          end else begin
            I1 := Position - ScrollBox1.Height;
            if I1 < 0 then begin
              I1 := 0;
            end; { if }
          end; { else }
          Position := I1;
          Key := 0;
        end; { with }
      end; { if }
    end;
    vk_Next: begin
      if (Shift = []) or (Shift = [ssCtrl]) then begin
        with ScrollBox1.VertScrollBar do begin
          I1 := Position + ScrollBox1.Height;
          if I1 >= Range then begin
            if RvRenderPreview.CurrentPage < RvRenderPreview.Pages then begin
              RvRenderPreview.NextPage;
              SetButtonState;
              I1 := 0;
            end else begin
              I1 := Range - 1;
            end; { else }
          end; { if }
          Position := I1;
          Key := 0;
        end; { with }
      end; { if }
    end;
    vk_Left: begin
      with ScrollBox1.HorzScrollBar do begin
        if Shift = [ssCtrl] then begin
          I1 := Position - Increment;
          if I1 < 0 then begin
            I1 := 0;
          end; { if }
          Position := I1;
          Key := 0;
        end else if Shift = [ssCtrl,ssShift] then begin
          I1 := Position - ScrollBox1.Width;
          if I1 < 0 then begin
            I1 := 0;
          end; { if }
          Position := I1;
          Key := 0;
        end; { else }
      end; { with }
    end;
    vk_Right: begin
      with ScrollBox1.HorzScrollBar do begin
        if Shift = [ssCtrl] then begin
          I1 := Position + Increment;
          if I1 >= Range then begin
            I1 := Range - 1;
          end; { if }
          Position := I1;
          Key := 0;
        end else if Shift = [ssCtrl,ssShift] then begin
          I1 := Position + ScrollBox1.Width;
          if I1 >= Range then begin
            I1 := Range - 1;
          end; { if }
          Position := I1;
          Key := 0;
        end; { else }
      end; { with }
    end;
  end; { case }
end;

procedure TRavePreviewForm.FormKeyPress(Sender: TObject; var Key: Char);
var
  ValidKeys: string;
begin
  if (Key = #27) or (Key = 'x') then begin
    actnFile_Exit.Execute;
    Key := #0;
  end else begin
    ValidKeys := {Trans-}'eEbBwWfFnNpP+-01234567890.'#13#8;
    if Pos(Key, ValidKeys) > 0 then begin
      case Key of
        'b','B': begin
          RvRenderPreview.RenderPage(1);
          SetButtonState;
          Key := #0;
        end;
        'e','E': begin
          RvRenderPreview.RenderPage(RvRenderPreview.Pages);
          SetButtonState;
          Key := #0;
        end;
        '-': begin
          RvRenderPreview.ZoomOut;
          SetButtonState;
          Key := #0;
        end;
        '+': begin
          RvRenderPreview.ZoomIn;
          SetButtonState;
          Key := #0;
        end;
        'w','W': begin
          RvRenderPreview.ZoomFactor := RvRenderPreview.ZoomPageWidthFactor;
          SetButtonState;
          Key := #0;
        end;
        'f','F': begin
          RvRenderPreview.ZoomFactor := RvRenderPreview.ZoomPageFactor;
          SetButtonState;
          Key := #0;
        end;
        'n','N': begin
          if RvRenderPreview.CurrentPage < RvRenderPreview.Pages then begin
            RvRenderPreview.NextPage;
            SetButtonState;
          end; { if }
          Key := #0;
        end;
        'p','P': begin
          if RvRenderPreview.CurrentPage > 1 then begin
            RvRenderPreview.PrevPage;
            SetButtonState;
          end; { if }
          Key := #0;
        end;
      end; { case }
    end else begin
      Key := #0;
    end; { else }
  end; { else }
  if Key = #0 then begin
    PageEdit.SelStart := 0;
    PageEdit.SelLength := Length(PageEdit.Text);
    ZoomEdit.SelStart := 0;
    ZoomEdit.SelLength := Length(ZoomEdit.Text);
  end; { if }
end;

procedure TRavePreviewForm.actnFile_ExitExecute(Sender: TObject);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美专区在线| 成人美女视频在线看| 五月综合激情网| 人人精品人人爱| 精品一区免费av| 成人激情综合网站| 欧美三级在线看| 欧美成人一区二区三区片免费 | 精品少妇一区二区三区日产乱码 | 亚洲v精品v日韩v欧美v专区| 极品少妇一区二区| 久久久久久久久久久久久女国产乱| 国产精品免费网站在线观看| 亚洲私人影院在线观看| 亚洲国产精品自拍| 成人午夜激情视频| 亚洲美女区一区| 国产a视频精品免费观看| 欧美精品久久久久久久久老牛影院| 久久综合久久鬼色中文字| 一二三区精品福利视频| 美国av一区二区| 91蝌蚪国产九色| 在线播放日韩导航| 另类小说综合欧美亚洲| 欧美成人三级电影在线| 亚洲精品福利视频网站| 亚洲国产精品精华液ab| 久久久99久久精品欧美| 中文子幕无线码一区tr| 国产麻豆午夜三级精品| 中文字幕乱码日本亚洲一区二区 | 亚洲国产精品久久不卡毛片 | 一卡二卡欧美日韩| 欧美年轻男男videosbes| 亚洲猫色日本管| 7777精品伊人久久久大香线蕉超级流畅 | 欧美一级在线视频| 久久综合九色综合97婷婷女人 | 夫妻av一区二区| 亚洲精品国产无天堂网2021| 欧美色综合网站| 欧美精品一区二区三| 国产精品综合在线视频| 亚洲精品第一国产综合野| 日韩色在线观看| 99久久夜色精品国产网站| 亚洲第一福利视频在线| 久久久久久免费网| 欧美天天综合网| 国产成人av电影在线观看| 色婷婷久久99综合精品jk白丝| 午夜精品久久久久久久99樱桃| 精品处破学生在线二十三| 91尤物视频在线观看| 免费欧美日韩国产三级电影| 亚洲欧美日韩一区二区三区在线观看| 欧美精品三级日韩久久| 9i在线看片成人免费| 麻豆精品视频在线观看| 亚洲天堂免费在线观看视频| 欧美性色综合网| 麻豆精品在线播放| 亚洲黄色在线视频| 精品久久国产老人久久综合| 国产一区二区免费视频| 日韩国产精品大片| av影院午夜一区| 久久www免费人成看片高清| 国产精品无圣光一区二区| 欧美片网站yy| 国产成人免费9x9x人网站视频| 亚洲一区二区五区| 欧美一区二区三区视频免费 | 国产欧美精品一区二区三区四区| 日本不卡高清视频| 亚洲国产精品精华液ab| 在线精品亚洲一区二区不卡| 久久激情五月激情| 亚洲午夜精品久久久久久久久| 成人免费小视频| 国产日韩欧美a| 久久久久88色偷偷免费| 欧美一区二区在线视频| 欧美色偷偷大香| 欧美性xxxxxx少妇| 99久久精品国产精品久久| 高清视频一区二区| 国产自产高清不卡| 韩国av一区二区三区| 免费久久99精品国产| 蜜臀av一级做a爰片久久| 日韩不卡手机在线v区| 亚洲国产精品一区二区久久| 一区二区三区精品在线观看| 国产精品福利一区二区三区| 欧美日韩一区二区三区在线看| 91天堂素人约啪| 一本到一区二区三区| 99久久精品国产导航| 99久久国产综合精品麻豆| 91在线视频免费观看| 97久久精品人人爽人人爽蜜臀| 激情文学综合网| 国产一区二区三区香蕉| 国产不卡高清在线观看视频| 麻豆91精品91久久久的内涵| 同产精品九九九| 亚洲va在线va天堂| 亚洲国产精品久久久久秋霞影院 | 久久成人久久爱| 国产馆精品极品| 成人不卡免费av| 在线亚洲+欧美+日本专区| 97久久精品人人澡人人爽| 91在线精品一区二区| 99这里都是精品| 91免费视频网址| 欧美三级在线视频| 欧美人xxxx| 久久精品亚洲乱码伦伦中文| 中文字幕av在线一区二区三区| 中文字幕一区二区三区在线观看| 亚洲欧美日韩一区二区| 五月综合激情日本mⅴ| 久久精工是国产品牌吗| 不卡高清视频专区| 欧美日韩一二三| 久久新电视剧免费观看| 亚洲色图在线看| 免费一级片91| 本田岬高潮一区二区三区| 欧美在线999| 国产午夜精品一区二区三区视频| 亚洲欧洲99久久| 日本不卡不码高清免费观看| 盗摄精品av一区二区三区| 在线观看网站黄不卡| xvideos.蜜桃一区二区| 亚洲午夜久久久久中文字幕久| 蜜臀va亚洲va欧美va天堂| 99r精品视频| 精品三级在线看| 亚洲线精品一区二区三区八戒| 国产老女人精品毛片久久| 欧美主播一区二区三区| 国产人成亚洲第一网站在线播放| 一卡二卡三卡日韩欧美| 成人免费黄色大片| 日韩一卡二卡三卡国产欧美| √…a在线天堂一区| 久久se精品一区精品二区| 欧洲色大大久久| 国产精品色在线| 国产一区二区三区国产| 欧美日韩一区在线观看| 亚洲日本欧美天堂| 精品一区二区综合| 欧美日韩精品一区视频| 亚洲色图一区二区| 成人黄色大片在线观看| 久久综合九色综合97婷婷| 青娱乐精品视频| 欧美三级日本三级少妇99| 一区视频在线播放| 国产精品亚洲一区二区三区在线| 欧美另类z0zxhd电影| 亚洲愉拍自拍另类高清精品| 成人h动漫精品| 国产亚洲欧美一级| 国产一区二区视频在线| 欧美精品一区二区三区在线播放| 日韩avvvv在线播放| 精品视频色一区| 亚洲高清不卡在线| 欧美丝袜自拍制服另类| 亚洲在线一区二区三区| 色综合久久99| 悠悠色在线精品| 在线视频国产一区| 亚洲综合色网站| 91久久一区二区| 夜夜精品浪潮av一区二区三区| 99久久国产综合色|国产精品| 国产精品视频观看| 91丨porny丨最新| 国产精品情趣视频| 色久综合一二码| 亚洲国产一区二区视频| 欧美日韩一区在线观看| 三级成人在线视频| 91精品国产综合久久福利| 日韩不卡手机在线v区| 日韩欧美一二区| 国产精品一品二品| 国产精品无遮挡| 在线视频欧美区| 久久精品国产成人一区二区三区 | 欧美一区二区高清| 国产麻豆视频精品|