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

RichEdit

开发平台:

Delphi

  1. unit Unit1;
  2. {==============================================================================}
  3. { This demo shows how to add controls to RichView                              }
  4. {==============================================================================}
  5. interface
  6. uses
  7.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  8.   RVScroll, RichView, RVStyle, ExtCtrls, StdCtrls;
  9. type
  10.   TForm1 = class(TForm)
  11.     RVStyle1: TRVStyle;
  12.     RichView1: TRichView;
  13.     Label1: TLabel;
  14.     Label2: TLabel;
  15.     ComboBox1: TComboBox;
  16.     Label3: TLabel;
  17.     procedure FormCreate(Sender: TObject);
  18.   private
  19.     { Private declarations }
  20.     procedure DoOnScrollbarChange(Sender: TObject); 
  21.   public
  22.     { Public declarations }
  23.   end;
  24. var
  25.   Form1: TForm1;
  26. implementation
  27. {$R *.DFM}
  28. // This event handler will be assigned to scrollbar's OnChange
  29. procedure TForm1.DoOnScrollbarChange(Sender: TObject);
  30. begin
  31.   Label3.Caption := IntToStr(TScrollbar(Sender).Position);
  32. end;
  33. procedure TForm1.FormCreate(Sender: TObject);
  34. var sb: TScrollbar;
  35.     pan : TPanel;
  36. begin
  37.   RichView1.Clear;
  38.   RichView1.AddNL('Example of adding controls', 1, 1);
  39.   // Adding "break" - horizontal line
  40.   RichView1.AddBreakEx(3, rvbsLine, clRed);
  41.   // 1st parameter - line width (AddBreak method adds break with width=1)
  42.   // 2nd parameter - reserved, must be set to rvbsLine
  43.   // 3rd parameter - color; if set to clNone, "break" will have color of the
  44.   // 0th text style (AddBreak method adds break with color=clNone)
  45.   //-------------------------------------------//
  46.   //    Example 1: adding controls from form:  //
  47.   //-------------------------------------------//
  48.   // Adding combobox
  49.   RichView1.AddNL('Combobox:', 0, 0);
  50.   // AddControlEx removes control from its current parent and insert into RichView
  51.   // Just one line of code:
  52.   RichView1.AddControlEx('', Combobox1, 1, rvvaBaseline);
  53.   //-------------------------------------------//
  54.   //    Example 1: adding controls created at  //
  55.   //    run-time:                              //
  56.   //-------------------------------------------//
  57.   RichView1.AddNL('Panel with scrollbar:', 0, 1);
  58.   // Adding panel with scrollbar
  59.   pan := TPanel.Create(nil); // we can set NIL to Owner because this panel will be freed by RichView
  60.   pan.Caption := '';
  61.   pan.Width := 100;
  62.   pan.Height := 60;
  63.   sb := TScrollbar.Create(pan); // panel will free scrollbar
  64.   sb.Parent := pan;
  65.   sb.Min := -10;
  66.   sb.Max := 10;
  67.   sb.SetBounds(10,20,80,20);
  68.   sb.OnChange := DoOnScrollbarChange;
  69.   RichView1.AddControlEx('', pan, -1, rvvaMiddle);
  70.   RichView1.AddBreakEx(3, rvbsLine, clRed);
  71.   RichView1.Format;
  72.   // About AddControlEx:
  73.   // Parameters of this method are similar with parameters of AddPictureEx:
  74.   // 1st parameter: name of control. Allows to hold additional text information
  75.   //  together with control. There is no predefined meaning of this
  76.   //  parameter.
  77.   // 2nd parameter: control
  78.   // 3rd parameter: index of paragraph style (-1 to continue paragraph)
  79.   // 4th parameter: vertical align of control.
  80. end;
  81. end.