Priyatna Codes - My Programming Journey
 


You are here: Home Delphi Stuffs NiceSideBar
NiceSideBar Component

Version: 1.2
Release Date: January 12, 2008

Introduction

NiceSideBar is a free visual component for Delphi that can be used as a menu. It mimics side menu that usually used in websites. It has flat design and highly customizable. It supports two menu levels (menu and sub menu). Each menu can have a glyph that is supplied by an image list. It has hover state effect too.

 

Version History

Version 1.2 (January 12, 2008)
- Added properties to items and subitems: Enabled, Visible, ItemEnabled, ItemVisible
- Added properties: disabled colors, disabled images
- Keyboard control: PgUp, PgDown, Up and Down arrows
- Reported bugs fixed

Version 1.1 (June 28, 2007)
Reported bugs fixed

Version 1.0 (May 26th, 2007)
Initial Release

 

License

This library is released under Mozilla Public License. You can use it in your freeware, shareware or commercial softwares. You can send your modification to me, and if I decide to include it in the main distribution, I will add your name as a contributor. You can read full licensing information here.

 

Installation

There is no special process to install it on Delphi. Just open NiceSideBarD7.dpk on Delphi IDE and press Install button. I use Delphi 7. If you use another Delphi version, you may have to make some minor changes.

The component will appear in priyatna.org tab.

 

Methods

There are some main methods of the component:

  • procedure BeginUpdate;
    Call this method to temporarily prevent the control from updating its content. This is useful when you want to add bulky items to the control.

  • procedure EndUpdate;
    This method is used to re-enable update after calling BeginUpdate. You must call BeginUpdate prior to call this method.

 

Properties

There are some main properties of the component:

  • property Items: TSideBarItems;
    A collection of items. Each item usually have subitems. You can associate item as a menu group. Item can have a glyph supplied from an image list, while sub items use bullets.

  • property ItemIndex: Integer;
    Specifies which item is currently selected.

  • property SubItemIndex: Integer;
    Specifies which sub item is currently selected.

  • property ItemStyle: TSideBarItemStyle;
    This is where you can customize item: normal state font and color, selected state font and color, hover state font and color, and also line color.

  • property SubItemStyle: TSideBarItemStyle;
    This is where you can customize sub items: normal state font and color, selected state font and color, hover state font and color, and also line color.

  • property Bullets: TSideBarBulletStyle;
    This is where you can customize bullets: visibility, normal hover and selected state colors, outline colors and size. Currently it has three bullet style: round, rectangle and diamond.

  • property Scrollers: TSideBarScrollerStyle;
    This is where you can customize scroller arrow: normal, hover and selected colors and outline colors.

  • property ItemHeight: Integer;
    Specifies item height in pixel.

  • property SubItemHeight: Integer;
    Specifies sub item height in pixel.

  • property Alignment: TSideBarAlign;
    Specifies caption alignment: left, right or centered.

  • property Margin: Integer;
    Specifies margin in pixel.

  • property GroupSeparator: Integer;
    Specifies vertical margin between group (item) in pixel.

  • property Indent: Integer;
    Specifies indent value for sub items in pixel.

  • property AlwaysExpand: Boolean;
    Set to True if you want the control to always expands its subitems.

  • property Images: TImageList;
    Specifies image list to use for items.

  • property HoverImages: TImageList;
    Specifies image list to use for items when in in hover mode.

  • property SelectedImages: TImageList;
    Specifies image list to use for items when in selected mode.

  • property HandPointCursor: Boolean;
    Set to True to use handpoint cursor instead the default one.

  • property OnHover: TSideBarEvent;
    An event that is fired everytime user hovers it mouse over an item or sub item.

  • property OnSelect: TSideBarEvent;
    An event that is fired everytime user select an item or sub item.

  • property OnCustomDrawItem: TSideBarCustomDrawItem;
    You can customize item drawing by handling this event.

  • property OnCustomDrawSubItem: TSideBarCustomDrawSubItem;
    You can customize sub item drawing by handling this event.

  • property OnCustomDrawNonItem: TSideBarCustomDrawNonItem;
    You can customize background drawing by handling this event.

  • property OnCustomDrawScroller: TSideBarCustomDrawScroller;
    You can customize scroller drawing by handling this event.

 

Download

Download full source code and demo here:

NiceSideBar.zip
753 KB

Version: 1.2
Release Date: January 12, 2008