  Component: TBarPopupMenu
  ===========================================================================
  Bluecave Software
                  (C) Copyright 2000, Jouni Airaksinen (Mintus@Codefield.com)
  ===========================================================================
  Last Updated date: 2000-06-24 (yyyy-mm-dd)
  ---------------------------------------------------------------------------


              << LOOK COPYRIGHT, FEES & DISCLAIMER SECTION >>


  -- Version 1.0.3 -- (2000-06-24)
     - Support for my Expanding menu component system ( ignores items with
       caption as '#' )

  -- Version 1.0.2 -- (2000-06-24)
     - property BarVisible: Boolean

  -- Version 1.0.1 -- (2000-06-23)
     - Fixed font assignment AV using elipses (...) button

  -- Version 1.0.0 -- (2000-06-22)

    This is continued part of my article at www.delphi3000.com. Article
    ID 1133, http://www.delphi3000.com/article.asp?id=1133

    TBarPopupMenu component for Delphi 5. Be my guest and use it where-ever
    you like, just mention my name and e-mail somewhere in your software.

    Copy/Paste here,
     "TBarPopupMenu,  Copyright 2000: Jouni Airaksinen, Mintus@Codefield.com"

    There is demo program at Demo\ directory.

    New properties in TBarPopupMenu:

    property Bitmap: TBitmap
      Bitmap to be positioned somewhere in the popupmenu (e.g. application
      logo)

    property BarWidth: Integer
      Width of bar on the left side of popupmenu
    
    property BarVisible: Boolean
      Toggles bar visibility. If it's false, menu looks like normal menu.

    property BitmapOffsetX: Integer
    property BitmapOffsetY: Integer
      Offset values to position bitmap

    property BitmapVertAlignment: TBitmapVertAlignment
    property BitmapHorzAlignment: TBitmapHorzAlignment
      Alignment values to position bitmap, fine tune position with Offsets

    property GradientEnd: TColor
    property GradientStart: TColor
      Gradient colors, if set to same color is drawn with one FillRect call

    property Transparent: Boolean
      Transparency of Bitmap

    property VerticalFont: TFont
    property VerticalText: string
      Vertical text and it's font on the bar

    property VerticalTextOffsetY: Integer
      Offset for vertical text, normally you want it to be negative e.g.
      defaults to -6.


    Notes about root Items:

      You can't assign (well you can, but events don't get executed)
      OnMeasureItem nor OnAdvancedDrawItem events to root items.
      Maybe I fix this later, if someone really needs those..

      Otherwise, you can use Actions and other stuff normally.

  ---------------------------------------------------------------------------
  Questions to,

    Jouni Airaksinen, (programming: Mintus@Codefield.com; personal: virgin@sci.fi)
    Bluecave Software, (http://www.bluecave.net/)
    Codefield.com, (http://Codefield.com/)

  == COPYRIGHT, FEES & DISCLAIMER ============================================

   YOU MUST include my name and e-mail address somewhere in your application;
   Splash screen, About screen, readme file or something else. Place where
   it's readable by normal user.

  "TBarPopupMenu,  Copyright 2000: Jouni Airaksinen, Mintus@Codefield.com"


   THIS CODE is free. Yes, free. I'm not going to ask any money from you.
   Remember to mention my name and you are ready to go. You may use this
   in your products which are: freeware, shareware, commericalware,
   whateverware.

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

   COPYRIGHT remains with me. If you are going to use my code as base for
   your own component(s), please ask permission first. I want to know how my
   code is used.

   IF YOU USE you agree to accept my changes into the component(s). Even if
   it would cause work for you (please contact me if amount of work goes
   into another millennium, maybe we can have peaceful some solution).

   IF I DECIDE to make my component(s)/code commercial, it's my decision.
   Also if I want to stop developing my component any further, I'm allowed
   to do so (Most likely, if component(s)/code is commercial, I will develope
   it as long as there is need for it).

   FINANCIAL LOST caused by my component(s)/code (not including possible
   registration fee of my component(s)/code) is not my headache. You cover
   your loss.

                                      Jouni Airaksinen (Mintus@Codefield.com)
                                      Web: http://Codefield.com/home/mintus
  ===========================================================================