home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 January / Chip_2000-01_cd.bin / zkuste / Delphi / nastroje / browutil.exe / COMPNT / MSRICHED.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-11-27  |  2.0 KB  |  74 lines

  1. unit MSRichEd;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, ComCtrls, DBCtrls, ShowRich, DB, DBTables;
  8.  
  9. type
  10.   TMSDBRichEdit = class(TDBRichEdit)
  11.   private
  12.     { Private declarations }
  13.     FRichEditTitle : String;
  14.     procedure ShowRichEdit(tblRichEdit : TTable; sFieldName, sHeading : String; lReadOnlyFlag : Boolean);
  15.   protected
  16.     { Protected declarations }
  17.   public
  18.     { Public declarations }
  19.     constructor Create(AOwner : TComponent); override;
  20.     destructor Destroy; override;
  21.     procedure DblClick(Sender : TObject);
  22.   published
  23.     { Published declarations }
  24.     property ShowRichEditTitle : String read FRichEditTitle write FRichEditTitle;
  25.   end;
  26.  
  27. procedure Register;
  28.  
  29. implementation
  30.  
  31. constructor TMSDBRichEdit.Create;
  32. begin
  33.   inherited Create(AOwner);
  34.   OnDblClick := DblClick;
  35. end;
  36.  
  37. destructor TMSDBRichEdit.Destroy;
  38. begin
  39.   inherited Destroy;
  40.   if (Application.FindComponent('FrmShowRich') <> nil) then begin
  41.     FrmShowRich.Close;
  42.     FrmShowRich := nil;
  43.   end;
  44. end;
  45.  
  46. procedure TMSDBRichEdit.dblClick(Sender: TObject);
  47. begin
  48.   Self.Perform(CM_EXIT,0,1);
  49.   ShowRichEdit(TTable(TDataSource(TMSDBRichEdit(Self).DataSource).DataSet),TMSDBRichEdit(Self).DataField,ShowRichEditTitle,TMSDBRichEdit(Self).ReadOnly);
  50. end;
  51.  
  52. procedure TMSDBRichEdit.ShowRichEdit(tblRichEdit : TTable; sFieldName, sHeading : String; lReadOnlyFlag : Boolean);
  53. begin
  54.   if (Application.FindComponent('FrmShowRich') = nil) then
  55.     Application.CreateForm(TFrmShowRich, FrmShowRich);
  56.   if lReadOnlyFlag then
  57.     sHeading := sHeading + ' - [Read Only]';
  58.   FrmShowRich.Caption := sHeading;
  59.   FrmShowRich.SrcRichEdit.DataSet := tblRichEdit;
  60.   FrmShowRich.DBRichEdit.DataField := sFieldName;
  61.   FrmShowRich.DBRichEdit.ReadOnly := lReadOnlyFlag;
  62.   if (Screen.ActiveForm.FormStyle = fsStayOnTop) then
  63.     FrmShowRich.ShowModal
  64.   else
  65.     FrmShowRich.Show;
  66. end;
  67.  
  68. procedure Register;
  69. begin
  70.   RegisterComponents('msTools', [TMSDBRichEdit]);
  71. end;
  72.  
  73. end.
  74.