==============================================================================
 FlexMenu - Release 99/1  13.02.1999
 for Delphi 4, should also run with Delphi 3

------------------------------------------------------------------------------

 FlexMenu is FREEWARE. Freeware means, that you can use this software without
 paying anything for it, but it is not public domain! This software is
 protected through the law of the Federal Republic of Germany, the European
 Union and other countries.

 (C)1999 by Peter Hellinger Software, All rights are reserved.

 Peter Hellinger Software, Zerzabelshofstrasse 41, D-90480 Nrnberg

 email: mail@helli.de
 homepage: http://www.helli.de

==============================================================================

 Installation:
 Copy FLEXMENU.PAS AND FLEXMENU.DCR into your library path.
 Select Components -> Install Components from the Delphi main menu and put
 FLEXMENU.PAS to a package of your choice.

------------------------------------------------------------------------------

 TFlexMenu enables you to add or remove itmes on a menu dynamicly. Useful for
 flexibe menu entries like MRU or window lists. Features automatic numbering
 of the added menuitems and automatic add/remove of separator lines. TFlexMenu
 is a non visual component.

 TFlexMenu provides the following properties and methods:

 Properties:
 ===========

 MaxItems	     	Number of menuitems that can be added to the menu. -1 means
                that there is no limit. If you set a Limit, not more than
                MaxItems entries are added to the parent menu.


 ParentMenu     The TMenuItem that the Subitems are added to,


 NumberItems    TRUE means, that the entries are numberd by TFlexMenu. Example:

                   1 Entry No. one
                   2 Entry No. two
                   3 Entry No. three
                   4 Entry No. four

                If you remove "Entry No. two" the items will be automaticly 
                renumberd and then look like this:

                   1 Entry No. one
                   2 Entry No. three
                   3 Entry No. four

                If NumberItems is TRUE, the Number is the Shotcut to the
                MenuItem!


 CreateLine     IF true, The first added menuitem also adds a separator line
                to the menu. The line is automaticly removed, if all menus
                that are added are removed.

 Methodes:
 =========

 Create         Creates the component

 Destroy        Destroys the component

 Add            Adds a menuitem to the parent menu. The methode returns the
                added Menuitem as a TMenuItem object. Parameters:

                title =    The caption of the menuitem
                checked =  The item is checked
                enabled =  The item is enabled
                tag =      The property Tag of the TMenuItem
                click =    The event handler for the OnClick event of the
                           TMenuItem

 Remove         Removes the menuitem from the parent menu.
                Parameters:

                item =     The TMenuItem, returned by Add or GetItem.

 ChangeCaption  Changes the Caption OF the menuitem. You should always
                use this methode instead manipulating the menuitem in direct
                way, because ChangeCaption updates the numbering Top.
                Parameters:

                item =     The TMenuItem, returned by Add or GetItem
                title =    The new caption of the menuitem

 GetItem        Returns the TMenuItem with the specific number from the list
                of the added menuitems, or NIL if the item not exist.
                Parameters:

                item =     The Number of the wanted TMenuItem

==============================================================================
