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

RichEdit

开发平台:

Delphi

  1. /*------------------------------------------------------------------------------}
  2.   Very simple template editor for "mail merging"
  3.   It loads and saves a template in TEMPLATE.RVF.
  4.   See mail merging application in the same directory - MAILMERGE.
  5.   Main settings:
  6.   - since field names are stored in tags (see the help topic about tags)
  7.     as strings, rvoTagsArePChars is included in Options of rve.
  8.   - this demo uses a predefined set of styles (right click richviews,
  9.     choose "Settings" from the context menu, choose "Use a predefined
  10.     set of styles"). That means - only two text styles (see below) will be used.
  11.   - rve.Style has two styles:
  12.     0th style - normal text,
  13.     1st - field code (bold, with background, protected)
  14. ------------------------------------------------------------------------------*/
  15. #include <vclvcl.h>
  16. #pragma hdrstop
  17. #include "TEMainFrm.h"
  18. //---------------------------------------------------------------------------
  19. #pragma link "RVEdit"
  20. #pragma link "RichView"
  21. #pragma link "RVScroll"
  22. #pragma link "RVStyle"
  23. #pragma resource "*.dfm"
  24. TForm1 *Form1;
  25. //---------------------------------------------------------------------------
  26. __fastcall TForm1::TForm1(TComponent* Owner)
  27. : TForm(Owner)
  28. {
  29. }
  30. //---------------------------------------------------------------------------
  31. void __fastcall TForm1::FormCreate(TObject *Sender)
  32. {
  33.   rve->LoadRVF(ExtractFilePath(Application->ExeName)+"template.rvf");
  34.   rve->Format();
  35. }
  36. //---------------------------------------------------------------------------
  37. void __fastcall TForm1::Button4Click(TObject *Sender)
  38. {
  39.   rve->SaveRVF(ExtractFilePath(Application->ExeName)+"template.rvf", false);
  40. }
  41. //---------------------------------------------------------------------------
  42. /*
  43.   Inserting a field "code". Text of this item does not matter, but tag
  44.   is important and equal to "code".
  45.   Since rvprDoNotAutoSwitch is in Protection of the 1st text style,
  46.   a current style will be switched back to previous value after insertion.
  47. */
  48. void __fastcall TForm1::Button1Click(TObject *Sender)
  49. {
  50.   rve->CurTextStyleNo = 1;
  51.   rve->InsertStringTag("Code", (int)StrNew("code"));
  52.   rve->SetFocus();
  53. }
  54. //---------------------------------------------------------------------------
  55. /*
  56.   Inserting a field "name".
  57. */
  58. void __fastcall TForm1::Button2Click(TObject *Sender)
  59. {
  60.   rve->CurTextStyleNo = 1;
  61.   rve->InsertStringTag("Name", (int)StrNew("name"));
  62.   rve->SetFocus();
  63. }
  64. //---------------------------------------------------------------------------