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

RichEdit

开发平台:

Delphi

  1. unit Demo6Frm;
  2. interface
  3. {$I RV_Defs.inc}
  4. uses
  5.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  6.   StdCtrls, RVScroll, RichView, ExtCtrls,
  7.   {$IFDEF RICHVIEWDEF4}
  8.   ImgList,
  9.   {$ENDIF}
  10.   RVStyle;
  11. type
  12.   TfrmDemo6 = class(TForm)
  13.     Close: TButton;
  14.     rvs: TRVStyle;
  15.     tmr: TTimer;
  16.     rv: TRichView;
  17.     il: TImageList;
  18.     procedure FormCreate(Sender: TObject);
  19.     procedure tmrTimer(Sender: TObject);
  20.   private
  21.     { Private declarations }
  22.     Red: Byte;
  23.     DRed: Shortint;
  24.     ImageIndex: Integer;    
  25.   public
  26.     { Public declarations }
  27.   end;
  28. var
  29.   frmDemo6: TfrmDemo6;
  30. implementation
  31. {$R *.DFM}
  32. procedure TfrmDemo6.FormCreate(Sender: TObject);
  33. const crlf:String = chr(13)+chr(10);
  34. begin
  35.   ImageIndex := 0;
  36.   Red  := 150;
  37.   DRed := 5;
  38.   rvs.TextStyles[rvsHeading].Color := RGB(Red,0,0);
  39.   // How many items the following statements adds? (adding string with 10 crlfs?)
  40.   // Answer: 11! (since RichView 1.1) because it is considered like
  41.   // ''+crlf+''+crlf+''+crlf+''+crlf+''+crlf+''+crlf+''+crlf+''+crlf+''+crlf+''+crlf+''
  42.   rv.AddTextNL(
  43.         crlf+crlf+crlf+crlf+crlf+crlf+crlf+crlf+crlf+crlf, 0,0,0);
  44.   // And since v1.1 you can use TopMargin and BottomMargin properties instead of
  45.   // adding empty lines!
  46.   rv.AddBulletEx('',0,il,1);
  47.   rv.Add('Credits Demo', 1);
  48.   rv.AddTextNL(
  49.         'Roberto Nelson'+crlf+
  50.         'Bruce Young'+crlf+
  51.         'Kim Lambert'+crlf+
  52.         'Leslie Johnson'+crlf+
  53.         'Phil Forest'+crlf+
  54.         'K.J. Weston'+crlf+
  55.         'Lee Terry'+crlf+
  56.         'Stewart Hall'+crlf+
  57.         'Katherine Young'+crlf+
  58.         'Chris Papadopulos'+crlf+
  59.         'Pete Fisher'+crlf+
  60.         'Ann Bennet'+crlf+
  61.         'Roger De Sousa'+crlf+
  62.         'Janet Boldwin'+crlf+
  63.         'Roger Reeves'+crlf+
  64.         'Willie Stansbury'+crlf+
  65.         'Leslie Phong'+crlf+
  66.         'Ashok Ramanathan',0,0,0);
  67.   rv.AddNL('and other people from Employee.db',2,0);
  68.   rv.AddTextNL(crlf+crlf+crlf+crlf+crlf+crlf+
  69.           crlf+crlf+crlf+crlf+crlf,0,0,0);
  70.   rv.VSmallStep := 1;
  71.   rv.Format;
  72. end;
  73. procedure TfrmDemo6.tmrTimer(Sender: TObject);
  74. begin
  75.    if rv.VScrollPos<>rv.VScrollMax then
  76.      rv.VScrollPos := rv.VScrollPos+1
  77.    else
  78.      rv.VScrollPos := 0;
  79.    inc(Red, DRed);
  80.    rvs.TextStyles[rvsHeading].Color := RGB(Red,0,0);
  81.    if (Red=255) or (Red=100) then DRed := -DRed;
  82.    inc(ImageIndex);
  83.    if ImageIndex=il.Count then
  84.      ImageIndex := 0;
  85.    rv.SetBulletInfo(11,'',ImageIndex,nil,0);
  86. end;
  87. end.