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

RichEdit

开发平台:

Delphi

  1. unit Unit1;
  2. interface
  3. {==============================================================================}
  4. { This demo shows how to use Tags of items.                                    }
  5. { Each item has associated integer value - Tag. Tags are used to store         }
  6. { additional information, which RichView does not display and does not use.    }
  7. {------------------------------------------------------------------------------}
  8. { All Add*** methods (except from obsolete ones) has Add***Tag version.        }
  9. { Add***(...) == Add***Tag(...,0) (Tags=0 by default)                          }
  10. { For example, look AddNLTag and AddHotpotExTag in this demo.                  }
  11. { Tag of item can be obtained with GetItemTag method (or Get***Info methods)   }
  12. { and modified with SetItemTag (or Set***Info methods).                        }
  13. {==============================================================================}
  14. uses
  15.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  16.   ImgList, RVStyle, ExtCtrls, RVScroll, RichView;
  17. type
  18.   TForm1 = class(TForm)
  19.     RichView1: TRichView;
  20.     Panel1: TPanel;
  21.     RVStyle1: TRVStyle;
  22.     ImageList1: TImageList;
  23.     Image1: TImage;
  24.     procedure FormCreate(Sender: TObject);
  25.     procedure RichView1Jump(Sender: TObject; id: Integer);
  26.   private
  27.     { Private declarations }
  28.   public
  29.     { Public declarations }
  30.   end;
  31. var
  32.   Form1: TForm1;
  33. implementation
  34. {$R *.DFM}
  35. procedure TForm1.FormCreate(Sender: TObject);
  36. var ico: TIcon;
  37. begin
  38.   RichView1.AddNL('Some text styles can be chosen as hypertext styles. ',0,0);
  39.   RichView1.AddNLTag('Like this one.',4,-1, 100);
  40.   RichView1.AddNL(' You can have as many hypertext styles as you want.  ',0,-1);
  41.   RichView1.AddNLTag('Here is one more.',5,-1,  200);
  42.   RichView1.AddNL('Images from Image Lists also can be hypertext: ',0,0);
  43.   RichView1.AddHotspotExTag('Pen Image', 0,1, ImageList1, -1, 300);
  44.   RichView1.AddNL(' Such images are called "hotspots".',0,-1);
  45.   ico := TIcon.Create;
  46.   ico.Assign(Image1.Picture.Graphic);
  47.   RichView1.AddHotPictureTag('Bobo', ico, -1, rvvaBaseLine, 400);
  48.   RichView1.Format;
  49. end;
  50. procedure TForm1.RichView1Jump(Sender: TObject; id: Integer);
  51. var ItemNo: Integer;
  52.     Tag: Integer;
  53. begin
  54.   ItemNo := RichView1.GetJumpPointItemNo(id);
  55.   Tag := RichView1.GetItemTag(ItemNo);
  56.   Panel1.Caption := 'Clicked: Item with Tag='+IntToStr(Tag);
  57. end;
  58. end.