home *** CD-ROM | disk | FTP | other *** search
/ PC World Plus! (NZ) 2001 June / HDC50.iso / Runimage / Delphi50 / Doc / IMGLIST.INT < prev    next >
Text File  |  1999-08-11  |  4KB  |  109 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Visual Component Library         }
  5. {                                                       }
  6. {       Copyright (c) 1995,99 Inprise Corporation       }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit ImgList;
  11.  
  12. {$R-,T-,H+,X+}
  13.  
  14. interface
  15.  
  16. uses Windows, Classes, Graphics, CommCtrl;
  17.  
  18. type
  19.  
  20. { TChangeLink }
  21.  
  22.   TCustomImageList = class;
  23.  
  24.   TChangeLink = class(TObject)
  25.   public
  26.     destructor Destroy; override;
  27.     procedure Change; dynamic;
  28.     property OnChange: TNotifyEvent;
  29.     property Sender: TCustomImageList;
  30.   end;
  31.  
  32. { TCustomImageList }
  33.  
  34.   TDrawingStyle = (dsFocus, dsSelected, dsNormal, dsTransparent);
  35.   TImageType = (itImage, itMask);
  36.   TResType = (rtBitmap, rtCursor, rtIcon);
  37.   TOverlay = 0..3;
  38.   TLoadResource = (lrDefaultColor, lrDefaultSize, lrFromFile,
  39.     lrMap3DColors, lrTransparent, lrMonoChrome);
  40.   TLoadResources = set of TLoadResource;
  41.   TImageIndex = type Integer;
  42.  
  43.   TCustomImageList = class(TComponent)
  44.   protected
  45.     procedure AssignTo(Dest: TPersistent); override;
  46.     procedure Change; dynamic;
  47.     procedure DefineProperties(Filer: TFiler); override;
  48.     procedure DoDraw(Index: Integer; Canvas: TCanvas; X, Y: Integer;
  49.       Style: Cardinal; Enabled: Boolean); virtual;
  50.     procedure GetImages(Index: Integer; Image, Mask: TBitmap);
  51.     procedure HandleNeeded;
  52.     procedure Initialize; virtual;
  53.   public
  54.     constructor Create(AOwner: TComponent); override;
  55.     constructor CreateSize(AWidth, AHeight: Integer);
  56.     destructor Destroy; override;
  57.     procedure Assign(Source: TPersistent); override;
  58.     function Add(Image, Mask: TBitmap): Integer;
  59.     function AddIcon(Image: TIcon): Integer;
  60.     procedure AddImages(Value: TCustomImageList);
  61.     function AddMasked(Image: TBitmap; MaskColor: TColor): Integer;
  62.     procedure Clear;
  63.     procedure Delete(Index: Integer);
  64.     procedure Draw(Canvas: TCanvas; X, Y, Index: Integer; Enabled: Boolean=True);
  65.     procedure DrawOverlay(Canvas: TCanvas; X, Y: Integer;
  66.       ImageIndex: Integer; Overlay: TOverlay; Enabled: Boolean=True);
  67.     function FileLoad(ResType: TResType; Name: string;
  68.       MaskColor: TColor): Boolean;
  69.     procedure GetBitmap(Index: Integer; Image: TBitmap);
  70.     function GetHotSpot: TPoint; virtual;
  71.     procedure GetIcon(Index: Integer; Image: TIcon);
  72.     function GetImageBitmap: HBITMAP;
  73.     function GetMaskBitmap: HBITMAP;
  74.     function GetResource(ResType: TResType; Name: string;
  75.       Width: Integer; LoadFlags: TLoadResources; MaskColor: TColor): Boolean;
  76.     function GetInstRes(Instance: THandle; ResType: TResType; Name: string;
  77.       Width: Integer; LoadFlags: TLoadResources; MaskColor: TColor): Boolean;
  78.     function HandleAllocated: Boolean;
  79.     procedure Insert(Index: Integer; Image, Mask: TBitmap);
  80.     procedure InsertIcon(Index: Integer; Image: TIcon);
  81.     procedure InsertMasked(Index: Integer; Image: TBitmap; MaskColor: TColor);
  82.     procedure Move(CurIndex, NewIndex: Integer);
  83.     function Overlay(ImageIndex: Integer; Overlay: TOverlay): Boolean;
  84.     procedure RegisterChanges(Value: TChangeLink);
  85.     function ResourceLoad(ResType: TResType; Name: string;
  86.       MaskColor: TColor): Boolean;
  87.     function ResInstLoad(Instance: THandle; ResType: TResType; Name: string;
  88.       MaskColor: TColor): Boolean;
  89.     procedure Replace(Index: Integer; Image, Mask: TBitmap);
  90.     procedure ReplaceIcon(Index: Integer; Image: TIcon);
  91.     procedure ReplaceMasked(Index: Integer; NewImage: TBitmap; MaskColor: TColor);
  92.     procedure UnRegisterChanges(Value: TChangeLink);
  93.     property Count: Integer;
  94.     property Handle: HImageList;
  95.   public
  96.     property AllocBy: Integer default 4;
  97.     property BlendColor: TColor default clNone;
  98.     property BkColor: TColor default clNone;
  99.     property DrawingStyle: TDrawingStyle default dsNormal;
  100.     property Height: Integer default 16;
  101.     property ImageType: TImageType default itImage;
  102.     property Masked: Boolean default True;
  103.     property ShareImages: Boolean default False;
  104.     property Width: Integer default 16;
  105.     property OnChange: TNotifyEvent;
  106.   end;
  107.  
  108. implementation
  109.