TSystemImageList v1.00

Description:
  TSystemImageList component which extends the TImageList component so that it
  gives access to the Win32 system image list.  The system image list is a list
  of images owned by the Win32 operating system that is made up of all the
  images the OS uses in things like Explorer.

  NOTE:  This component can and will provide access to the REAL system image
  list.  That means that if you make changes to the image list, those changes
  are going to be reflected  throughout the OS (i.e. Explorer, file open/save
  dialogs, etc).  If you will be doing something that requires modification of
  the system image list, you must set the ShareImages property to FALSE.  This
  will create a COPY of the system image list, and you can make changes to it
  without effecting other parts of the OS.


C++Builder and Delphi Set Types:
  A special note to C++Builder programmers:  Using set types such as the
  TSystemFileAttributes type declared in SystemImageList.pas is not as 
  straightforward in C++ as it is in ObjectPascal.  For example, calling the
  GetImageIndex method in Delphi would look like this:
    SysImgList.GetImageIndex('c:\somefile.dat', FALSE, []);
  or:
    SysImgList.GetImageIndex('c:\somefile.dat', FALSE, [sfaReadOnly, sfaHidden]);
  However, in C++Builder, the job is a bit more convoluted.  For those of you 
  not yet familiar with sets in C++Builder (there is info in the help file),
  here are the two examples above translated for you:
    SysImgList->GetImageIndex("c:\somefile.dat", false, TSystemFileAttributes());
  and:
    SysImgList->GetImageIndex("c:\somefile.dat", false,
       TSystemFileAttributes() << sfaReadOnly << sfaHidden);
  Because you don't need to pass file attributes if the file you are querying 
  exists, you will probably be calling with an empty set very often.  I suggest
  using a macro for this just to make it more readable, and require less typing:
    #define SIL_NO_ATTRS TSystemFileAttributes()
  Please see the Builder help file if you need more information than that, as
  that's about the full extent of my knowledge of sets in C++Builder.  :)
    

Contact Information:
  Feel free to contact me if you have any questions, comments or suggestions
  at bstowers@pobox.com.
  The lateset version will always be available on the web at:
    http://www.pobox.com/~bstowers/delphi/


Known Issues:
  * There are no known issues at this time.


Revision History:
 v1.00:  + Initial public release.  The following items are included for those
           who are upgrading from the old Beta 3 version.  All beta history has
           been removed as it is not of general interest.
         + Removed the inherited "ImageList Editor" component editor (on the
           component context menu, also the one you get if you double click it).
           The Delphi image list editor doesn't seem to be able to handle the
           system image list, I suspect because it is so large.
         + Version property was stored, but it shouldn't have been.  You may get
           an error about this property not existing (or something similar) when
           you open a project that used an older version; just tell it to ignore
           it and everything should be fine.
         + Added Selected parameter to TSystemImageList.GetImageIndex and
           GetFileInformation methods, GetIconIndex function,
         + Demo rewritten.  It's now a little more useful, showing your basic
           explorer-type app.

