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

RichEdit

开发平台:

Delphi

  1. /*=============================================================================}
  2. { This demo shows how to obtain list of checkpoints in document.               }
  3. { Key methods:                                                                 }
  4. { - GetFirstCheckpoint, GetNextCheckpoint;                                     }
  5. { - GetCheckpointInfo.                                                         }
  6. {=============================================================================*/
  7. #include <vclvcl.h>
  8. #pragma hdrstop
  9. #include "Unit1.h"
  10. //---------------------------------------------------------------------------
  11. #pragma link "RichView"
  12. #pragma link "RVScroll"
  13. #pragma link "RVStyle"
  14. #pragma resource "*.dfm"
  15. TForm1 *Form1;
  16. //---------------------------------------------------------------------------
  17. __fastcall TForm1::TForm1(TComponent* Owner)
  18.     : TForm(Owner)
  19. {
  20. }
  21. //---------------------------------------------------------------------------
  22. void __fastcall TForm1::FormCreate(TObject *Sender)
  23. {
  24.   AnsiString Name;
  25.   bool       RaiseEvent;
  26.   int        Tag;
  27.   // 1. Filling in RichView
  28.   for (int i=1; i<4; i++)
  29.   {
  30.     RichView1->AddNamedCheckpoint(AnsiString("C")+IntToStr(i));
  31.     RichView1->AddFmt("Chapter %d", ARRAYOFCONST((i)), 1,1);
  32.     for (int j=0; j<30; j++)
  33.       RichView1->AddNL("Bla - bla - bla - bla - bla - bla - bla - bla "
  34.                       "- bla - bla - bla - bla - bla - bla - bla - bla",0,0);
  35.   }
  36.   RichView1->AddNamedCheckpoint("END");
  37.   RichView1->Format();
  38.   // 2. Filling in the list of checkpoints
  39.   TCheckpointData CheckpointData =  RichView1->GetFirstCheckpoint();
  40.   while (CheckpointData)
  41.   {
  42.     RichView1->GetCheckpointInfo(CheckpointData, Tag, Name, RaiseEvent);
  43.     // Tag and RaiseEvent will be discussed in next demos
  44.     ListBox1->Items->Add(Name);
  45.     CheckpointData = RichView1->GetNextCheckpoint(CheckpointData);
  46.   }
  47.   ListBox1->ItemIndex = 0;
  48. }
  49. //---------------------------------------------------------------------------
  50. void __fastcall TForm1::Button1Click(TObject *Sender)
  51. {
  52.   int CheckpointIndex = ListBox1->ItemIndex;
  53.   if (CheckpointIndex==-1)
  54.     return;
  55.   RichView1->ScrollTo(RichView1->GetCheckpointY(CheckpointIndex));
  56. }
  57. //---------------------------------------------------------------------------