home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / WIN / Programa / RP_SHELL.ZIP / PREVIEW.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-05-05  |  4.0 KB  |  166 lines

  1. unit Preview;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, RPBase, RPCanvas, RPFPrint,
  8.   RPreview;
  9.  
  10. type
  11.   TPreviewForm = class(TForm)
  12.     Panel2: TPanel;
  13.     SBZoomIn: TSpeedButton;
  14.     SBZoomOut: TSpeedButton;
  15.     Label1: TLabel;
  16.     SBPrevPage: TSpeedButton;
  17.     SBNextPage: TSpeedButton;
  18.     Label2: TLabel;
  19.     FilePreview1: TFilePreview;
  20.     FilePrinter1: TFilePrinter;
  21.     SBDone: TSpeedButton;
  22.     SBPrint: TSpeedButton;
  23.     ScrollBox1: TScrollBox;
  24.     ZoomEdit: TEdit;
  25.     SBZoomPageWidth: TSpeedButton;
  26.     SBZoomPage: TSpeedButton;
  27.     PageEdit: TEdit;
  28.     PageLabel: TLabel;
  29.     procedure SBZoomInClick(Sender: TObject);
  30.     procedure SBZoomOutClick(Sender: TObject);
  31.     procedure SBPrevPageClick(Sender: TObject);
  32.     procedure SBNextPageClick(Sender: TObject);
  33.     procedure FormActivate(Sender: TObject);
  34.     procedure SBPrintClick(Sender: TObject);
  35.     procedure SBDoneClick(Sender: TObject);
  36.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  37.     procedure SBZoomPageWidthClick(Sender: TObject);
  38.     procedure SBZoomPageClick(Sender: TObject);
  39.     procedure FilePreview1PageChange(Sender: TObject);
  40.     procedure FilePreview1ZoomChange(Sender: TObject);
  41.     procedure ZoomEditExit(Sender: TObject);
  42.     procedure PageEditExit(Sender: TObject);
  43.     procedure ZoomEditKeyPress(Sender: TObject; var Key: Char);
  44.     procedure PageEditKeyPress(Sender: TObject; var Key: Char);
  45.   end;
  46.  
  47. var
  48.   PreviewForm: TPreviewForm;
  49.  
  50. implementation
  51.  
  52. {$R *.DFM}
  53.  
  54. procedure TPreviewForm.SBZoomInClick(Sender: TObject);
  55. begin
  56.   FilePreview1.ZoomIn;
  57. end;
  58.  
  59. procedure TPreviewForm.SBZoomOutClick(Sender: TObject);
  60. begin
  61.   FilePreview1.ZoomOut;
  62. end;
  63.  
  64. procedure TPreviewForm.SBPrevPageClick(Sender: TObject);
  65. begin
  66.   FilePreview1.PrevPage;
  67. end;
  68.  
  69. procedure TPreviewForm.SBNextPageClick(Sender: TObject);
  70. begin
  71.   FilePreview1.NextPage;
  72. end;
  73.  
  74. procedure TPreviewForm.FormActivate(Sender: TObject);
  75. begin
  76.   FilePreview1.Start;
  77. end;
  78.  
  79. procedure TPreviewForm.SBPrintClick(Sender: TObject);
  80. begin
  81.   FilePrinter1.Execute;
  82. end;
  83.  
  84. procedure TPreviewForm.SBDoneClick(Sender: TObject);
  85. begin
  86.   Close;
  87. end;
  88.  
  89. procedure TPreviewForm.FormClose(    Sender: TObject;
  90.                                  var Action: TCloseAction);
  91. begin
  92.   FilePreview1.Finish;
  93. end;
  94.  
  95. procedure TPreviewForm.SBZoomPageWidthClick(Sender: TObject);
  96. begin
  97.   With FilePreview1 do begin
  98.     ZoomFactor := ZoomPageWidthFactor;
  99.   end; { with }
  100. end;
  101.  
  102. procedure TPreviewForm.SBZoomPageClick(Sender: TObject);
  103. begin
  104.   With FilePreview1 do begin
  105.     ZoomFactor := ZoomPageFactor;
  106.   end; { with }
  107. end;
  108.  
  109. procedure TPreviewForm.FilePreview1PageChange(Sender: TObject);
  110. begin
  111.   With FilePreview1 do begin
  112.     PageEdit.Text := IntToStr(CurrentPage);
  113.     PageLabel.Caption := 'Page ' + IntToStr(CurrentPage - FirstPage + 1) +
  114.      ' of ' + IntToStr(Pages);
  115.   end; { with }
  116. end;
  117.  
  118. procedure TPreviewForm.FilePreview1ZoomChange(Sender: TObject);
  119. var
  120.   S1: string[10];
  121. begin
  122.   Str(FilePreview1.ZoomFactor:1:1,S1);
  123.   ZoomEdit.Text := S1;
  124.   FilePreview1.RedrawPage;
  125. end;
  126.  
  127. procedure TPreviewForm.ZoomEditExit(Sender: TObject);
  128. var
  129.   F1: double;
  130.   ErrCode: integer;
  131. begin
  132.   Val(ZoomEdit.Text,F1,ErrCode);
  133.   If (ErrCode = 0) and (FilePreview1.ZoomFactor <> F1) then begin
  134.     FilePreview1.ZoomFactor := F1;
  135.   end; { if }
  136. end;
  137.  
  138. procedure TPreviewForm.PageEditExit(Sender: TObject);
  139. var
  140.   I1: integer;
  141.   ErrCode: integer;
  142. begin
  143.   Val(PageEdit.Text,I1,ErrCode);
  144.   If (ErrCode = 0) and (FilePreview1.CurrentPage <> I1) then begin
  145.     FilePreview1.PrintPage(I1);
  146.   end; { if }
  147. end;
  148.  
  149. procedure TPreviewForm.ZoomEditKeyPress(Sender: TObject; var Key: Char);
  150. begin
  151.   If Key = #13 then begin
  152.     ZoomEditExit(Sender);
  153.   end; { if }
  154. end;
  155.  
  156. procedure TPreviewForm.PageEditKeyPress(Sender: TObject; var Key: Char);
  157. begin
  158.   If Key = #13 then begin
  159.     PageEditExit(Sender);
  160.   end; { if }
  161. end;
  162.  
  163. end.
  164.  
  165.  
  166.