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

RichEdit

开发平台:

Delphi

  1. unit Demo3Frm;
  2. interface
  3. {$I RV_Defs.inc}
  4. uses
  5.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  6.   StdCtrls, ComCtrls, RVStyle, RVScroll, RichView,
  7.   {$IFDEF RICHVIEWDEF4}
  8.   ImgList,
  9.   {$ENDIF}
  10.   ExtCtrls;
  11. type
  12.   TfrmDemo3 = class(TForm)
  13.     PageControl1: TPageControl;
  14.     rv: TRichView;
  15.     TabSheet1: TTabSheet;
  16.     TabSheet2: TTabSheet;
  17.     TabSheet3: TTabSheet;
  18.     Page4: TTabSheet;
  19.     Label1: TLabel;
  20.     Label2: TLabel;
  21.     Edit1: TEdit;
  22.     Label3: TLabel;
  23.     Edit2: TEdit;
  24.     RadioGroup1: TRadioGroup;
  25.     CheckBox1: TCheckBox;
  26.     CheckBox2: TCheckBox;
  27.     CheckBox3: TCheckBox;
  28.     Memo1: TMemo;
  29.     Label4: TLabel;
  30.     il: TImageList;
  31.     procedure Change(Sender: TObject);
  32.     procedure FormCreate(Sender: TObject);
  33.     procedure FormKeyDown(Sender: TObject; var Key: Word;
  34.       Shift: TShiftState);
  35.     procedure rvClick(Sender: TObject);
  36.   private
  37.     { Private declarations }
  38.   public
  39.     { Public declarations }
  40.     procedure BuildSummary;
  41.   end;
  42. implementation
  43. uses MainFrm;
  44. {$R *.DFM}
  45. procedure TfrmDemo3.BuildSummary;
  46. const OffOn: array [Boolean] of String = ('Off', 'On');
  47.       Checks: array [Boolean] of Integer = (1, 2);
  48. begin
  49.   rv.Clear;
  50.   rv.AddNL('Query', sncomHeading,1);
  51.   rv.AddBulletEx('', 0, il, 0);
  52.   rv.Add('Edit1: ', sncomKeyword);
  53.   rv.Add(Edit1.Text, sncomNormal);
  54.   rv.AddBulletEx('', 0, il, 0);
  55.   rv.Add('Edit2: ', sncomKeyword);
  56.   rv.Add(Edit2.Text, sncomNormal);
  57.   rv.AddBreakEx(1, rvbsLine, clRed);
  58.   if RadioGroup1.ItemIndex<>-1 then begin
  59.     rv.AddBulletEx('', 3, il, 0);
  60.     rv.Add('Menu: ', sncomKeyword);
  61.     rv.Add(RadioGroup1.Items[RadioGroup1.ItemIndex], sncomNormal);
  62.   end;
  63.   rv.AddBreakEx(1, rvbsLine, clRed);
  64.   rv.AddNL('Check1: ', sncomKeyword, 0);
  65.   rv.AddBulletEx('', Checks[Checkbox1.Checked], il, -1);
  66.   rv.Add(OffOn[Checkbox1.Checked], sncomNormal);
  67.   rv.AddNL('Check2: ', sncomKeyword, 0);
  68.   rv.AddBulletEx('', Checks[Checkbox2.Checked], il, -1);
  69.   rv.Add(OffOn[Checkbox2.Checked], sncomNormal);
  70.   rv.AddNL('Check3: ', sncomKeyword, 0);
  71.   rv.AddBulletEx('', Checks[Checkbox3.Checked], il, -1);
  72.   rv.Add(OffOn[Checkbox3.Checked], sncomNormal);
  73.   rv.AddBreakEx(1, rvbsLine, clRed);
  74.   rv.AddBulletEx('', 0, il, 0);
  75.   rv.Add('Memo1: ',sncomKeyword);
  76.   rv.AddTextNL(Memo1.Lines.Text,sncomNormal, -1, 0);
  77.   rv.Format;
  78. end;
  79. procedure TfrmDemo3.Change(Sender: TObject);
  80. begin
  81.   BuildSummary;
  82. end;
  83. procedure TfrmDemo3.FormCreate(Sender: TObject);
  84. begin
  85.   BuildSummary;
  86. end;
  87. procedure TfrmDemo3.FormKeyDown(Sender: TObject; var Key: Word;
  88.   Shift: TShiftState);
  89. begin
  90.   if Key=VK_ESCAPE then Close;
  91. end;
  92. procedure TfrmDemo3.rvClick(Sender: TObject);
  93. begin
  94.   if not rv.SelectionExists then
  95.     Application.MessageBox('This RichView only for view, do not click it', 'Info',
  96.                          MB_OK or MB_ICONEXCLAMATION);
  97. end;
  98. end.