home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 September / Chip_2001-09_cd1.bin / zkuste / delphi / kolekce / d123456 / DFS.ZIP / SystemImageListReg.pas < prev    next >
Pascal/Delphi Source File  |  2001-06-27  |  2KB  |  86 lines

  1. {$I DFS.INC}
  2.  
  3. unit SystemImageListReg;
  4.  
  5. interface
  6.  
  7. uses
  8.   {$IFDEF DFS_NO_DSGNINTF}
  9.   DesignIntf,
  10.   DesignEditors;
  11.   {$ELSE}
  12.   DsgnIntf;
  13.   {$ENDIF}
  14.  
  15. type
  16.   TdfsSystemImageListEditor = class(TDefaultEditor)
  17.   public
  18.     procedure ExecuteVerb(Index : Integer); override;
  19.     function GetVerb(Index : Integer): string; override;
  20.     function GetVerbCount : Integer; override;
  21.     procedure Edit; override;
  22.   end;
  23.  
  24. procedure Register;
  25.  
  26. implementation
  27.  
  28. uses
  29.   SystemImageList, DFSAbout, Classes, Forms, Graphics, Dialogs;
  30.  
  31.  
  32. procedure Register;
  33. begin
  34.   RegisterComponents('DFS', [TdfsSystemImageList]);
  35.   RegisterPropertyEditor(TypeInfo(string), TdfsSystemImageList, 'Version',
  36.      TDFSVersionProperty);
  37.   RegisterComponentEditor(TdfsSystemImageList, TdfsSystemImageListEditor);
  38. end;
  39.  
  40. { TDFSStatusBarEditor }
  41.  
  42. procedure TdfsSystemImageListEditor.Edit;
  43. var
  44.   SaveDlg: TSaveDialog;
  45.   Stream: TStream;
  46. begin
  47.   SaveDlg := TSaveDialog.Create(Application);
  48.   try
  49.     SaveDlg.DefaultExt := 'bmp';
  50.     SaveDlg.Filter := 'Bitmaps (*.bmp)|*.bmp|All Files (*.*)|*.*';
  51.     SaveDlg.Options := [ofOverwritePrompt, ofHideReadOnly
  52.        {$IFDEF DFS_COMPILER_4_UP} , ofEnableSizing {$ENDIF} , ofPathMustExist];
  53.     SaveDlg.Title := 'Save ' + Component.Name + ' as...';
  54.  
  55.     if SaveDlg.Execute then
  56.     begin
  57.       Stream := TFileStream.Create(SaveDlg.Filename, fmCreate);
  58.       try
  59.         TdfsSystemImageList(Component).SaveToStream(Stream);
  60.       finally
  61.         Stream.Free;
  62.       end;
  63.     end;
  64.   finally
  65.     SaveDlg.Free;
  66.   end;
  67. end;
  68.  
  69. procedure TdfsSystemImageListEditor.ExecuteVerb(Index: Integer);
  70. begin
  71.   if Index = 0 then  // We only have one verb...
  72.     Edit;
  73. end;
  74.  
  75. function TdfsSystemImageListEditor.GetVerb(Index: Integer): string;
  76. begin
  77.   Result := 'Save &to bitmap...';
  78. end;
  79.  
  80. function TdfsSystemImageListEditor.GetVerbCount: Integer;
  81. begin
  82.   Result := 1;
  83. end;
  84.  
  85. end.
  86.