PreviewFrm.cpp
上传用户:daoqigc
上传日期:2021-04-20
资源大小:2795k
文件大小:3k
源码类别:

RichEdit

开发平台:

Delphi

  1. //---------------------------------------------------------------------------
  2. #include <vclvcl.h>
  3. #pragma hdrstop
  4. #include "PreviewFrm.h"
  5. //---------------------------------------------------------------------------
  6. #pragma link "RVPP"
  7. #pragma link "CRVPP"
  8. #pragma link "RVScroll"
  9. #pragma resource "*.dfm"
  10. TfrmPreview *frmPreview;
  11. //---------------------------------------------------------------------------
  12. __fastcall TfrmPreview::TfrmPreview(TComponent* Owner)
  13.     : TForm(Owner)
  14. {
  15. }
  16. //---------------------------------------------------------------------------
  17. void __fastcall TfrmPreview::Button1Click(TObject *Sender)
  18. {
  19.   rvpp->First();
  20.   Label1->Caption = Format("%d of %d", ARRAYOFCONST((rvpp->PageNo, rvpp->RVPrint->PagesCount)));
  21. }
  22. //---------------------------------------------------------------------------
  23. void __fastcall TfrmPreview::Button2Click(TObject *Sender)
  24. {
  25.   rvpp->Prev();
  26.   Label1->Caption = Format("%d of %d", ARRAYOFCONST((rvpp->PageNo, rvpp->RVPrint->PagesCount)));
  27. }
  28. //---------------------------------------------------------------------------
  29. void __fastcall TfrmPreview::Button3Click(TObject *Sender)
  30. {
  31.   rvpp->Next();
  32.   Label1->Caption = Format("%d of %d", ARRAYOFCONST((rvpp->PageNo, rvpp->RVPrint->PagesCount)));
  33. }
  34. //---------------------------------------------------------------------------
  35. void __fastcall TfrmPreview::Button4Click(TObject *Sender)
  36. {
  37.   rvpp->Last();
  38.   Label1->Caption = Format("%d of %d", ARRAYOFCONST((rvpp->PageNo, rvpp->RVPrint->PagesCount)));
  39. }
  40. //---------------------------------------------------------------------------
  41. void __fastcall TfrmPreview::cmbExit(TObject *Sender)
  42. {
  43.   UpdateZoom();    
  44. }
  45. //---------------------------------------------------------------------------
  46. void __fastcall TfrmPreview::cmbKeyDown(TObject *Sender, WORD &Key,
  47.     TShiftState Shift)
  48. {
  49.   if (Key==VK_RETURN)
  50.   {
  51.     UpdateZoom();
  52.     Key = 0;
  53.   }
  54. }
  55. //---------------------------------------------------------------------------
  56. void TfrmPreview::UpdateZoom()
  57. {
  58.   AnsiString s = Trim(cmb->Text);
  59.   if (s=="Page width")
  60.   {
  61.     rvpp->ZoomMode = rvzmPageWidth;
  62.     return;
  63.   }
  64.   if (s=="Full page")
  65.   {
  66.     rvpp->ZoomMode = rvzmFullPage;
  67.     return;
  68.   }
  69.   if (s!="" && s[s.Length()]=='%')
  70.     s = s.SubString(1,s.Length()-1);
  71.   int zoom = StrToIntDef(s,0);
  72.   if (zoom<10 || zoom>500)
  73.     Application->MessageBox("Please enter number from 10 to 500","Scale",MB_OK | MB_ICONSTOP);
  74.   else
  75.     rvpp->SetZoom(zoom);
  76. }
  77. void __fastcall TfrmPreview::rvppZoomChanged(TObject *Sender)
  78. {
  79.   cmb->Text = IntToStr(rvpp->ZoomPercent)+"%";    
  80. }
  81. //---------------------------------------------------------------------------