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

RichEdit

开发平台:

Delphi

  1. {==============================================================================}
  2. { Example of new item type for RichView:                                       }
  3. { - TRVBlendBitmapItemInfo                                                     }
  4. {   (semi-transparent image)                                                   }
  5. { - TRVHotBlendBitmapItemInfo                                                  }
  6. {   (semi-transparent image - hypertext link)                                  }
  7. {------------------------------------------------------------------------------}
  8. { (c) 2001 by Sergey Tkachenko (svt@trichview.com)                             }
  9. { http://www.trichview.com                                                     }
  10. { http://www.richedit.com                                                      }
  11. {==============================================================================}
  12. unit Unit1;
  13. interface
  14. uses
  15.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  16.   ExtCtrls, RVStyle, RVScroll, RichView, RVBlendBitmap, StdCtrls, ShellApi;
  17. type
  18.   TForm1 = class(TForm)
  19.     RichView1: TRichView;
  20.     RVStyle1: TRVStyle;
  21.     Image1: TImage;
  22.     Image2: TImage;
  23.     Label1: TLabel;
  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 bmp: TBitmap;
  37.     item: TRVHotBlendBitmapItemInfo;
  38.     i: Integer;
  39. begin
  40.  // Note: not very fast drawing, so do not use for large images
  41.  // Note: you can save RVF documents with semitransparent images
  42.  //       (RVF reader must have RVBlendBMP.pas unit in order to
  43.  //       load such files)
  44.  RichView1.AddBreak;
  45.  RichView1.AddNL('Example of Semi-transparent Image',1,1);
  46.  RichView1.AddBreak;
  47.  for i := 0 to 10 do
  48.     RichView1.AddNL('some text',0,0);
  49.   bmp := TBitmap.Create;
  50.   bmp.Assign(Image1.Picture.Bitmap);
  51.   item := TRVHotBlendBitmapItemInfo.CreateEx(RichView1.RVData, bmp, rvvaBaseline);
  52.   item.Transparency := 100;
  53.   item.HotTransparency := 0;
  54.   // 0 - no transparency,
  55.   // 255 - fully transparent (invisible)
  56.   item.ParaNo := 1;
  57.   RichView1.AddItem('', item);
  58.   RichView1.AddNL('games at www.sapphiregames.com',4,1);
  59.   for i := 0 to 10 do
  60.     RichView1.AddNL('some text',0,0);
  61.   bmp := TBitmap.Create;
  62.   bmp.Assign(Image2.Picture.Bitmap);
  63.   item := TRVHotBlendBitmapItemInfo.CreateEx(RichView1.RVData, bmp, rvvaBaseline);
  64.   item.Transparency := 200;
  65.   item.HotTransparency := 100;
  66.   item.ParaNo := 1;
  67.   RichView1.AddItem('', item);
  68.   RichView1.AddNL('games at www.sapphiregames.com',4,1);
  69.   for i := 0 to 10 do
  70.     RichView1.AddNL('some text',0,0);
  71.   RichView1.Format;
  72. end;
  73. procedure TForm1.RichView1Jump(Sender: TObject; id: Integer);
  74. begin
  75.   ShellExecute(0, 'open', 'http://www.sapphiregames.com', nil, nil, SW_SHOW)
  76. end;
  77. end.