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

RichEdit

开发平台:

Delphi

  1. //---------------------------------------------------------------------------
  2. #include <vclvcl.h>
  3. #include <mmsystem.h>
  4. #pragma hdrstop
  5. #include "MainFrm.h"
  6. #include "PopupFrm.h"
  7. #include "Demo1Frm.h"
  8. #include "Demo2Frm.h"
  9. #include "Demo3Frm.h"
  10. #include "Demo4Frm.h"
  11. #include "Demo5Frm.h"
  12. #include "Demo6Frm.h"
  13. #include "Demo7Frm.h"
  14. //---------------------------------------------------------------------------
  15. #pragma link "RichView"
  16. #pragma link "RVScroll"
  17. #pragma link "RVStyle"
  18. #pragma resource "*.dfm"
  19. TfrmMain *frmMain;
  20. //---------------------------------------------------------------------------
  21. __fastcall TfrmMain::TfrmMain(TComponent* Owner)
  22.     : TForm(Owner)
  23. {
  24. }
  25. // Constants for text styles, rvs->TextStyles
  26. #define snNormal  0
  27. #define snHeading 1
  28. #define snExit    3
  29. #define snJump    4
  30. void __fastcall TfrmMain::FormCreate(TObject *Sender)
  31. {
  32.   rvTop->BackgroundBitmap = rv->BackgroundBitmap;
  33.   rvTop->AddNL("", snNormal, 1);
  34.   rvTop->AddNL("RichView Demos", snHeading, 1);
  35.   rvTop->AddNL("", snNormal, 1);
  36.   rvTop->Format();
  37.   rvTop->Height = rvTop->DocumentHeight;
  38.   rv->AddNL("Click links for demos, click balls for hints", snNormal, 1);
  39.   rv->AddHotspotExTag("", 0,1,il, 1, 1);
  40.   rv->Add("1. ", snNormal);
  41.   rv->AddTag("'Checkpoints'", snJump, 1);
  42.   rv->AddHotspotExTag("", 0,1,il, 1, 2);
  43.   rv->Add("2. ", snNormal);
  44.   rv->AddTag("Customizing Styles", snJump, 2);
  45.   rv->AddHotspotExTag("", 0,1,il, 1, 3);
  46.   rv->Add("3. ", snNormal);
  47.   rv->AddTag("Query Summary", snJump, 3);
  48.   rv->AddHotspotExTag("", 0,1,il, 1, 4);
  49.   rv->Add("4. ", snNormal);
  50.   rv->AddTag("Interactive document", snJump, 4);
  51.   rv->AddHotspotExTag("", 0,1,il, 1, 5);
  52.   rv->Add("5. ", snNormal);
  53.   rv->AddTag("Chat Simulation", snJump, 5);
  54.   rv->AddHotspotExTag("", 0,1,il, 1, 6);
  55.   rv->Add("6. ", snNormal);
  56.   rv->AddTag("Credits Demo", snJump, 6);
  57.   rv->AddHotspotExTag("", 0,1,il, 1, 7);
  58.   rv->Add("7. ", snNormal);
  59.   rv->AddTag("Search and mark", snJump, 7);
  60.   rv->AddBreakEx(2, rvbsLine, clGreen);
  61.   rv->AddNL("Exit", snExit, 1);
  62.   rv->Format();
  63. }
  64. //---------------------------------------------------------------------------
  65. void __fastcall TfrmMain::rvRVMouseMove(TObject *Sender, int id)
  66. {
  67.   if (id!=-1)
  68.     PlaySound((ExtractFilePath(Application->ExeName)+"UCS.wav").c_str(),
  69.               0, SND_ASYNC | SND_FILENAME);
  70. }
  71. //---------------------------------------------------------------------------
  72. void __fastcall TfrmMain::rvJump(TObject *Sender, int id)
  73. {
  74.   int ItemNo  = rv->GetJumpPointItemNo(id);
  75.   int StyleNo = rv->GetItemStyle(ItemNo);
  76.   int ItemTag = rv->GetItemTag(ItemNo);
  77.   if (StyleNo==rvsHotspot)
  78.   {
  79.     TfrmPopup* frm = new TfrmPopup(this);
  80.     frm->ShowTopic(ItemTag);
  81.   }
  82.   else
  83.   {
  84.     TForm* frmDemo = NULL;
  85.     switch (ItemTag)
  86.     {
  87.       case 1:
  88.         frmDemo = new TfrmDemo1(Application);
  89.         break;
  90.       case 2:
  91.         frmDemo = new TfrmDemo2(Application);
  92.         break;
  93.       case 3:
  94.         frmDemo = new TfrmDemo3(Application);
  95.         break;
  96.       case 4:
  97.         frmDemo = new TfrmDemo4(Application);
  98.         break;
  99.       case 5:
  100.         frmDemo = new TfrmDemo5(Application);
  101.         break;
  102.       case 6:
  103.         frmDemo = new TfrmDemo6(Application);
  104.         break;
  105.       case 7:
  106.         frmDemo = new TfrmDemo7(Application);
  107.         break;
  108.       case 0:
  109.         Close();
  110.         break;
  111.     }
  112.     if (frmDemo)
  113.     {
  114.       frmDemo->ShowModal();
  115.       delete frmDemo;
  116.     }
  117.   }
  118. }
  119. //---------------------------------------------------------------------------