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

RichEdit

开发平台:

Delphi

  1. //---------------------------------------------------------------------------
  2. #include <vclvcl.h>
  3. #pragma hdrstop
  4. #include "PopupFrm.h"
  5. #include "MainFrm.h"
  6. //---------------------------------------------------------------------------
  7. #pragma link "RichView"
  8. #pragma link "RVScroll"
  9. #pragma link "RVStyle"
  10. #pragma resource "*.dfm"
  11. TfrmPopup *frmPopup;
  12. //---------------------------------------------------------------------------
  13. __fastcall TfrmPopup::TfrmPopup(TComponent* Owner)
  14.     : TForm(Owner)
  15. {
  16. }
  17. //---------------------------------------------------------------------------
  18. void TfrmPopup::Build(int DemoNo)
  19. {
  20.   switch (DemoNo)
  21.   {
  22.     case 1:
  23.     {
  24.       rv->AddBulletEx("",1,frmMain->il,1);
  25.       rv->Add("'Checkpoints'", 1);
  26.       rv->AddNL("Synchronizing document scrolling with list of contents", 0,0);
  27.       rv->AddNL("(This demo loads *.cpp files from application directory)", 0,0);
  28.       break;
  29.     }
  30.     case 2:
  31.     {
  32.       rv->AddBulletEx("",1,frmMain->il,1);
  33.       rv->Add("Customizing Styles", 1);
  34.       rv->AddNL("Interactive customizing of document", 0,0);
  35.       break;
  36.     }
  37.     case 3:
  38.     {
  39.       rv->AddBulletEx("",1,frmMain->il,1);
  40.       rv->Add("Query Summary", 1);
  41.       rv->AddNL("Complex query at one look", 0,0);
  42.       break;
  43.     }
  44.     case 4:
  45.     {
  46.       rv->AddBulletEx("",1,frmMain->il,1);
  47.       rv->Add("Interactive document", 1);
  48.       rv->AddNL("Document is a control itself", 0,0);
  49.       break;
  50.     }
  51.     case 5:
  52.     {
  53.       rv->AddBulletEx("",1,frmMain->il,1);
  54.       rv->Add("Chat Simulation", 1);
  55.       rv->AddNL("Autoscroll, URL detection", 0,0);
  56.       break;
  57.     }
  58.     case 6:
  59.     {
  60.       rv->AddBulletEx("",1,frmMain->il,1);
  61.       rv->Add("Credits Demo:", 1);
  62.       rv->AddNL("Scrolling text and images on timer", 0,0);
  63.       break;
  64.     }
  65.     case 7:
  66.     {
  67.       rv->AddBulletEx("",1,frmMain->il,1);
  68.       rv->Add("Search and mark:", 1);
  69.       rv->AddNL("Search and mark words in editor", 0,0);
  70.       rv->AddNL("(This demo loads MainFrm.cpp from application directory)", 0,0);
  71.       break;
  72.     }
  73.   }
  74.   rv->Format();
  75.   Height = rv->DocumentHeight+20;
  76. }
  77. //---------------------------------------------------------------------------
  78. void TfrmPopup::MoveToMouse()
  79. {
  80.   TPoint p;
  81.   GetCursorPos(&p);
  82.   if (p.x+Width>Screen->Width)
  83.     p.x = Screen->Width-Width;
  84.   if (p.y+Height>Screen->Height)
  85.     p.y = Screen->Height-Height;
  86.   Left = p.x;
  87.   Top  = p.y;
  88. }
  89. //---------------------------------------------------------------------------
  90. void TfrmPopup::ShowTopic(int DemoNo)
  91. {
  92.   Build(DemoNo);
  93.   MoveToMouse();
  94.   Show();
  95. }
  96. //---------------------------------------------------------------------------
  97. void __fastcall TfrmPopup::FormKeyPress(TObject *Sender, char &Key)
  98. {
  99.   Key = 0;
  100.   Close();
  101. }
  102. //---------------------------------------------------------------------------
  103. void __fastcall TfrmPopup::rvClick(TObject *Sender)
  104. {
  105.   Close();    
  106. }
  107. //---------------------------------------------------------------------------
  108. void __fastcall TfrmPopup::FormDeactivate(TObject *Sender)
  109. {
  110.   Close();    
  111. }
  112. //---------------------------------------------------------------------------
  113. void __fastcall TfrmPopup::FormClose(TObject *Sender, TCloseAction &Action)
  114. {
  115.   Action = caFree;    
  116. }
  117. //---------------------------------------------------------------------------