home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 January / Chip_2000-01_cd.bin / zkuste / Delphi / nastroje / browutil.exe / COMPNT / MSDBMEMO.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  2.4 KB  |  89 lines

  1. unit msDBMemo;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, DBCtrls, DB, DBTables, ShowMemo;
  8.  
  9. type
  10.   TMSMemo = class(TDBMemo)
  11.   private
  12.     FShowMemoTitle : String;
  13. //    FPlainText : Boolean;
  14.     procedure ShowMemo(tblMemo : TTable; sFieldName, sHeading : String ; lReadOnlyFlag : Boolean; sFontName : String; nFontSize : Integer);
  15.   protected
  16.   public
  17.     constructor Create(AOwner: TComponent); override;
  18.     destructor Destroy; override;
  19.     procedure dblclick(Sender : TObject);
  20.   published
  21.     property ShowMemoTitle : String read FShowMemoTitle write FShowMemoTitle;
  22.   end;
  23.  
  24. procedure Register;
  25.  
  26. implementation
  27.  
  28. constructor TMSMemo.Create(AOwner: TComponent);
  29. begin
  30.   inherited Create(AOwner);
  31.   OnDblClick := DblClick;
  32.   Font.Name := 'Courier New';
  33.   Font.Size := 10;
  34. end;
  35.  
  36. destructor TMSMemo.Destroy;
  37. begin
  38.   inherited Destroy;
  39.   if (Application.FindComponent('FrmShowMemo') <> nil) then begin
  40.     FrmShowMemo.Close;
  41.     FrmShowMemo := nil;
  42.   end;
  43. end;
  44.  
  45. procedure TMSMemo.dblclick(Sender: TObject);
  46. var
  47.   sFontName : String;
  48.   nFontSize : Integer;
  49. begin                     
  50.   sFontName := Font.Name;
  51.   nFontSize := Font.Size;
  52.   Self.Perform(CM_EXIT,0,1);
  53.   ShowMemo(TTable(TDataSource(TMSMemo(Self).DataSource).DataSet),TDBMemo(Self).DataField,ShowMemoTitle,TMSMemo(Self).ReadOnly, sFontName, nFontSize);
  54. end;
  55.  
  56. procedure TMSMemo.ShowMemo(tblMemo : TTable; sFieldName, sHeading : String ; lReadOnlyFlag : Boolean; sFontName : String; nFontSize : Integer);
  57. begin
  58.   if (Application.FindComponent('FrmShowMemo') = nil) then
  59.     Application.CreateForm(TFrmShowMemo, FrmShowMemo);
  60.   if lReadOnlyFlag then
  61.     sHeading := sHeading + ' - [Read Only]';
  62.   FrmShowMemo.Caption := sHeading;
  63.   FrmShowMemo.SrcMemo.DataSet := tblMemo;
  64.   FrmShowMemo.DBMemo.DataField := sFieldName;
  65.   FrmShowMemo.DBMemo.ReadOnly := lReadOnlyFlag;
  66.   frmShowMemo.DBMemo.Font.Name := sFontName;
  67.   frmShowMemo.DBMemo.Font.Size := nFontSize;
  68.   FrmShowMemo.ShowModal;
  69. {  if FrmShowMemo.ShowModal = mrOk then
  70.     begin
  71.       Font.Name := sFontName;
  72.       Font.Size := nFontSize;
  73.       Result := True;
  74.     end
  75.   else
  76.     begin
  77.       Font.Name := sFontName;
  78.       Font.Size := nFontSize;
  79.       Result := False;
  80.     end;}
  81. end;
  82.  
  83. procedure Register;
  84. begin
  85.   RegisterComponents('msTOOLS', [TMSMemo]);
  86. end;
  87.  
  88. end.
  89.