Unit1.cpp
上传用户:daoqigc
上传日期:2021-04-20
资源大小:2795k
文件大小:3k
- /*=============================================================================}
- { This demo shows how to use Tags of items in mode, when Tags are considered as}
- { pointers to dynamically allocated strings (PChar). }
- { In this demo, rvoTagsArePChars was set in Options (IMPORTANT!) }
- { In this mode, you need to allocate memory for tag strings with StrNew. }
- { RichView will free this memory itself when needed. }
- {------------------------------------------------------------------------------}
- { The key methods are the same as in the previous demo. }
- { You still can use Add***, which set Tags to 0 (i.e. NULL - empty string). }
- {------------------------------------------------------------------------------}
- { This is the most powerfull method for organizing hypertext, because you can }
- { encode any information that you need in string. }
- {------------------------------------------------------------------------------}
- { IMPORTANT: Do not use spaces in Tag strings (you can use them, but you }
- { will not be able to save such tags in RVF files) }
- { IMPORTANT: Do not use #0 in Tag strings (except from character closing }
- { the string) }
- {=============================================================================*/
- #include <vclvcl.h>
- #pragma hdrstop
- #include "Unit1.h"
- //---------------------------------------------------------------------------
- #pragma link "RichView"
- #pragma link "RVScroll"
- #pragma link "RVStyle"
- #pragma resource "*.dfm"
- TForm1 *Form1;
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- RichView1->AddNL("Some text styles can be chosen as hypertext styles. ",0,0);
- RichView1->AddNLTag("Like this one.",4,-1, (int)StrNew("First_jump"));
- RichView1->AddNL(" You can have as many hypertext styles as you want. ",0,-1);
- RichView1->AddNLTag("Here is one more.",5,-1, (int)StrNew("Second_jump"));
- RichView1->AddNL("Images from Image Lists also can be hypertext: ",0,0);
- RichView1->AddHotspotExTag("Pen Image", 0,1, ImageList1, -1, (int)StrNew("Third_jump"));
- RichView1->AddNL(" Such images are called 'hotspots'.",0,-1);
- TIcon* ico = new TIcon;
- ico->Assign(Image1->Picture->Graphic);
- RichView1->AddHotPictureTag("Bobo", ico, -1, rvvaBaseline, (int)StrNew("Fourth_jump"));
- RichView1->Format();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::RichView1Jump(TObject *Sender, int id)
- {
- int ItemNo = RichView1->GetJumpPointItemNo(id);
- AnsiString Tag = (char*)RichView1->GetItemTag(ItemNo);
- Panel1->Caption = "Clicked: Item with Tag="+Tag;
- }
- //---------------------------------------------------------------------------