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

RichEdit

开发平台:

Delphi

  1. /*=============================================================================}
  2. { Demo: how to load RVF file saved in demo editor.                             }
  3. { Sergey Tkachenko                                                             }
  4. {------------------------------------------------------------------------------}
  5. { Providing pictures and controls on request from RichView is not supported in }
  6. { this demo.                                                                   }
  7. {=============================================================================*/
  8. #include <vclvcl.h>
  9. #pragma hdrstop
  10. #include "Unit1.h"
  11. //---------------------------------------------------------------------------
  12. #pragma link "RichView"
  13. #pragma link "RVScroll"
  14. #pragma link "RVStyle"
  15. #pragma link "RVTable"
  16. #pragma link "RVTInplace"
  17. #pragma resource "*.dfm"
  18. /*
  19. Notes about loading from RVF files:
  20. 1. In simplest cases you can just write: RichView1->LoadRVF(<file name>);
  21. 2. If file contains inserted Delphi Controls, these controls must be registered
  22.    with RegisterClasses functions before loading (see FormCreate below)
  23. 3. If file contains images from image lists, you need to process
  24.    OnRVFImageListNeeded event (see RichView1RVFImageListNeeded below)
  25.    If you have several image lists, you can distinguish them using
  26.    ImageListTag parameter of this event.
  27. 4. You must have the same (or compatible) TRVStyle object assigned to
  28.    RichView1->Style as in editor.
  29.    Otherwise, you need to set option "Allow adding styles dynamically"
  30.    both in richview which saves and in richview which loads RVF
  31.    (right-click RichView in C++Builder IDE, choose "Settings" in the context menu)
  32. 5. If some items in RVF file have character strings associated as items' tags
  33.    (rvoTagsArePChars was in editor's Options), you need to set rvoTagsArePChars
  34.    in RichView1->Options.
  35. */
  36. TForm1 *Form1;
  37. //---------------------------------------------------------------------------
  38. __fastcall TForm1::TForm1(TComponent* Owner)
  39.     : TForm(Owner)
  40. {
  41. }
  42. //---------------------------------------------------------------------------
  43. void __fastcall TForm1::FormCreate(TObject *Sender)
  44. {
  45.   TComponentClass Classes[3] = { __classid(TButton), __classid(TEdit), __classid(TOleContainer) };
  46.   RegisterClasses(Classes,2);
  47. }
  48. //---------------------------------------------------------------------------
  49. void __fastcall TForm1::Button1Click(TObject *Sender)
  50. {
  51.   if (OpenDialog1->Execute())
  52.   {
  53.     if (!RichView1->LoadRVF(OpenDialog1->FileName))
  54.       Application->MessageBox("Error Loading File", NULL, MB_OK);
  55.     RichView1->Format();
  56.   }
  57. }
  58. //---------------------------------------------------------------------------
  59. void __fastcall TForm1::RichView1RVFImageListNeeded(TCustomRichView *Sender,
  60.     int ImageListTag, TCustomImageList *&il)
  61. {
  62.   il = ImageList1;    
  63. }
  64. //---------------------------------------------------------------------------