BarMenus230
所属分类:Pascal/Delphi编程
开发工具:WINDOWS
文件大小:409KB
下载次数:19
上传日期:2004-10-28 19:02:09
上 传 者:
曾维宏
说明: BarMenus230.zip
文件列表:
BarMenus.upl (2907, 2001-10-22)
BarMenus1.gif (9808, 2001-07-19)
BarMenus2.gif (33272, 2001-10-22)
BarMenus3.gif (8743, 2001-10-22)
BarMenus4.gif (8243, 2001-10-22)
Demo\chessboard.bmp (324, 2001-07-18)
Demo\chessboard2.bmp (324, 2001-07-18)
Demo\horsedawn.bmp (20856, 2001-07-17)
Demo\interlace.bmp (100, 2001-07-18)
Demo\Project1.cfg (356, 2001-10-22)
Demo\Project1.dof (1732, 2001-10-22)
Demo\Project1.dpr (215, 2001-10-22)
Demo\Project1.exe (427520, 2001-10-22)
Demo\Project1.res (876, 2001-10-16)
Demo\Unit1.dcu (18110, 2001-10-22)
Demo\Unit1.dfm (134115, 2001-10-22)
Demo\Unit1.pas (15550, 2001-10-22)
FAQ.txt (7654, 2001-10-22)
History.txt (19025, 2001-10-22)
License.txt (5433, 2001-09-29)
Packages\BcBarMenus50.cfg (360, 2001-10-22)
Packages\BcBarMenus50.dof (1929, 2001-10-22)
Packages\BcBarMenus50.dpk (1048, 2001-10-22)
Packages\BcBarMenus50.res (1768, 2001-10-16)
Packages\BcBarMenus60.cfg (390, 2001-10-11)
Packages\BcBarMenus60.dof (2034, 2001-10-11)
Packages\BcBarMenus60.dpk (1045, 2001-10-22)
Packages\BcBarMenus60.res (1768, 2001-10-11)
Packages\BcBarMenusB50.bpk (2981, 2001-10-22)
Packages\BcBarMenusB50.cpp (948, 2001-10-11)
Packages\BcBarMenusB50.res (1536, 2001-10-11)
Packages\BcBarMenusBD50.bpk (3015, 2001-10-11)
Packages\BcBarMenusBD50.cpp (744, 2001-10-11)
Packages\BcBarMenusBD50.res (1536, 2001-10-11)
Packages\BcBarMenusD50.cfg (360, 2001-10-22)
Packages\BcBarMenusD50.dof (1826, 2001-10-22)
Packages\BcBarMenusD50.dpk (702, 2001-10-16)
Packages\BcBarMenusD50.res (1536, 2001-10-16)
Packages\BcBarMenusD60.cfg (390, 2001-10-11)
Packages\BcBarMenusD60.dof (2025, 2001-10-11)
... ...
============================================================================
BarMenu Components
Copyright (C) 2000-2001 Bluecave Software. All Rights Reserved.
============================================================================
License:
========
For license terms see License.txt. You may not use this package in anyway
unless you agree the terms. So, before you continue, please read the
License.
Contact information:
====================
Latest version of the BarMenus is available at:
http://Mintus.Codefield.com/download/BarMenus.zip
Bluecave Software, http://www.bluecave.net/
support@bluecave.net
Jouni Airaksinen, http://Mintus.Codefield.com/
Mintus@Codefield.com
If you have any questions or suggestions contact me. Use either my personal
email or the Bluecave Software support email. Any emails related to this
package are welcome. If you want to praise these components, you are
welcome to do so. Actually, I would appreciate your comments very much.
Without any mental support, I seen no point developing these for others
than just me and my needs.
Other people involved:
======================
Thanks to following people who have contributed their work to
BarMenu Components:
* Magnus Flysj (magnus.flysjo@visuellkommunikation.com)
Special thanks to Stefan Agoston for testing the package compatibility
with Delphi 6 and C++Builder 5.
What are BarMenu Components?
============================
BarMenu Components is a package to create menus and popupmenus with a
gradient bar - like the start-menu. Gradient bar is drawn dynamically so
you get very smooth bar with customizable colors. Alternatively you can
have bitmap as a bar or even both; bitmap *and* gradient bar. Gradient
bar can have dynamically created vertical caption with highlight and shadow
colors. Also you can have additional bitmap (e.g. logo) on the bar and it
can be positioned with one pixel accuracy. If you want you can also draw the
menu bar manually through events.
Menu separator lines in BarMenus can be drawn in a short way - like in
Office 2000. Also it is possible to have text in the separator line - like in
ICQ.
Making some special application and need custom menu font? These components
have MenuFont property to change the font other than the system default just
for the menus in your application.
For more flexibility there is a DrawModule concept. DrawModule is separate
module which handles the MenuItem drawing for the whole menu. You can switch
between different DrawModules in designtime and runtime. Let the user
choose the menu look in your application - implement with just one line of
code!
Components are compatible with VCL, so it is easy to convert existing
menus. In addition BarMenus are resource friendly.
BarMenu Components package contain following components:
- TBcBarMainMenu
- TBcBarPopupMenu
Requirements:
=============
BarMenu Components can be compiled and used with (tested):
* Delphi 5
* Delphi 6
* C++Builder 5
Might be coming:
version for Kylix 1.0
Installing:
===========
After unzipping the files in the package to own directory you should have
following directories:
Demo\ - demo program demonstrating the component
Packages\ - packages for different compilers (Runtime, Designtime)
* Delphi 5 (BcBarMenus50.dpk, BcBarMenusD50.dpk)
* Delphi 6 (BcBarMenus60.dpk, BcBarMenusD60.dpk)
* C++Builder 5 (BcBarMenusB50.dpk, BcBarMenusBD50.dpk)
Source\ - source files
1. Add the Source\ directory to your library path.
* Tools | Enviroment Options | Library | Library path ...
* write the path to the edit box and press Add.
2. Open appropiate runtime package file (without the "D" letter before
the version number) in your IDE by selecting File | Open.
3. In the resulting package window, click the Compile button.
4. Open appropiate designtime package file (with the "D" letter before
the version number) in your IDE by selecting File | Open.
5. In the resulting package window, click the Install button. If this
package has already been installed (i.e. you are updating existing
files), click the Compile button instead.
Now you should have the components under Bluecave tab in the component palette.
If you have problems with upgrading it is advisable to uninstall the BarMenus
packages and then close your IDE and delete all BcBarMenus*.bpl files from your
system (usually at ($DELPHI)\Projects\Bpl\ and/or ($SYSTEM)\). After that try
again to install with the above five step instructions.
Uninstalling:
=============
If you need to uninstall the components:
1. Open Packages window by selecting Component | Install Packages.
2. Find the "Bluecave: BarMenu Components (Designtime)" package from the
window and uncheck the box next to it.
3. Click Remove and then Yes.
4. In addition you may remove the Source\ directory from the library path.
To be completely sure of full uninstallation you can delete the BcBarMenus*.bpl
files from system. Note that if you have applications compiled with the runtime
packages, and you delete the bpl files, your applications won't work anymore.
TBcBarPopupMenu and TBcBarMainMenu:
===================================
TBcBarPopupMenu works like the normal TPopupMenu but TBcBarPopupMenu
introduces few new properties. TBcBarMainMenu is similar to normal
TMainMenu and it introduces few new properties as well.
Following properties are common for both components:
+ property Separators: TBcSeparators
| |
| +-- property SeparatorStyle: TSeparatorStyle
| | Controls the the separator line style.
| |
| +-- property Alignment: TAlignment
| | Alignment of the separator line text. Currently works only with
| | separator line style ssCaption.
| |
| +-- property GradientStyle: TGradientStyle
| | Style of the caption gradient with style ssCaption.
| |
| +-- property GradientStart: TColor
| +-- property GradientEnd: TColor
| | Colors of the separator line caption with style ssCaption.
| |
| +-- property Font: TFont
| | Separator line caption text font. Has no effect if UseSystemFont is
| | set True.
| |
| +-- property UseSystemFont: Boolean
| If set True the separator line captions are draw using the default
| system menu font instead of the font in the Font property.
|
+ property Flat: Boolean // protected property - do not use
| Draw menu borders Flat instead of the standard 3D look.
|
+ property Opacity: TOpacity // protected property - do not use
| Controls the opacity of the menu. Values 0..255 are accepted where 255
| is completely opaque and 0 is completely transparent. Works only in
| Windows 2000/XP. Ignored in Windows'. This property does not exist
| in TBcBarMainMenu.
|
+ property MenuFont: TFont
| Font for the menuitems. Use this e.g. to personalize the menifont only for
| your application because of special font requirements.
|
+ property UseSystemFont: Boolean
| If set True the menu items are draw using the default
| system menu font instead of the font in the MenuFont property.
|
+ property DrawModule: TBcBarMenusDrawModule
| DrawModule which handles drawing of the menuitems within the
| menu. If this is nil then default drawing implemented in BarMenus is used.
| Currently default drawing passes menuitem drawing to VCL and lineitems
| it draws itself.
|
+ property Bar: TBcBar
| These properties alter the look of the menu bar. In TBcBarMainMain the
| bar is shown in the first visible top level menu.
|
+-- property BarPicture: TBcBarPicture
| | This property controls the picture on the bar:
| |
| +-- property Picture: TPicture
| | Picture which is drawn on the bar. It can be Icon, Metafile, Bmp or
| | other TGraphic supported format.
| |
| +-- property VertAlignment: TVertAlignment
| +-- property HorzAlignment: THorzAlignment
| | Alignment values to position picture, fine tune position with Offsets
| |
| +-- property OffsetX: Integer
| +-- property OffsetY: Integer
| | Fine tune the picture position
| |
| +-- property Transparent: Boolean
| | If this is True, then the Picture is drawn transparently. Transparent
| | color is the bottom left pixel. Note that this property has no effect
| | unless Picture is TBitmap resource.
| |
| +-- property Visible: Boolean
| Visibility of BarBackPicture. Can be overridden with
| OnAdvancedBeforeDrawBar.
|
+-- property BarBackPicture: TBcBarBackPicture
| | This property controls the background picture on the bar:
| |
| +-- property Picture: TPicture
| | Background Picture which is drawn on the bar.
| |
| +-- property DrawStyle: TDrawStyle
| | Style how the background is drawn to the bar. Possible values:
| | dsNormal, dsTile, dsStretch.
| | Note that if Picture is Icon stretch does not work.
| |
| +-- property VertAlignment: TVertAlignment
| +-- property HorzAlignment: THorzAlignment
| | Alignment values to position bitmap, fine tune position with Offsets
| | If DrawStyle is dsTile then these tell from where start to tile.
| | Note: No effect if DrawStyle is dsStretch.
| |
| +-- property OffsetX: Integer
| +-- property OffsetY: Integer
| | Fine tune the bitmap position. If DrawStyle is dsTile, these will fine
| | tune the tiling start position.
| | Note: No effect if DrawStyle is dsStretch.
| |
| +-- property Transparent: Boolean
| | If this is True, then the Bitmap is drawn transparently. Transparent
| | color is the bottom left pixel. If the bitmap is transparent or doesn't
| | fill the whole bar the Bitmap is drawn on top gradient bar. Note that
| | this property has no effect unless Picture is TBitmap resource.
| |
| +-- property Visible: Boolean
| Visibility of BarBackPicture. Can be overridden with
| OnAdvancedBeforeDrawBar.
|
+-- property BarCaption: TBcBarCaption
| | This property controls the vertical caption on the bar:
| |
| +-- property Caption: string
| | Caption which is drawn to the bar
| |
| +-- property Font: TFont
| | Font which is used to draw the caption
| |
| +-- property OffsetY: Integer
| | Offset from the bottom of the bar. Caption is always centered to the
| | bar. If Bitmap is aligned to the bottom, then offset is from the bitmap
| | top. Defaults to 6 (which is most of the time just okay).
| |
| +-- property Alignment: TVertAlignment
| | To where the text is aligned in the bar. Defaults to vaBottom.
| |
| +-- property Direction: TDirection
| | Direction from which the text is drawn. Defaults to dDownToUp.
| |
| +-- property Visible: Boolean
| Visibility of BarCaption. Can be overridden with OnAdvancedBeforeDrawBar.
|
+-- property GradientStyle: TGradientStyle
| Gradient style. Can have values gsHorizontal, gsVertical, gsDiagonalLeftRight
| and gsDiagonalLeftRight.
|
+-- property GradientStart: TColor
+-- property GradientEnd: TColor
| These control the color of the gradient bar. To disable gradient bar drawing
| e.g. for transparent bar background bitmaps set both colors to same color
| (clBtnFace for system popupmenu color).
|
+-- property Visible: Boolean
| If this is False, the popupmenu looks like normal popupmenu. Note, you can
| still use the ShortLines and the separator line captions!
|
+-- property Width: Integer
| Width of gradient bar
|
+-- property Border: TColor
| Color of the bar border
|
+-- property Side: TSide
| Side of the bar in the menu. sLeft or sRight.
|
+-- Space: Integer
Space between bar and the menuitems. Defaults to 1.
Following events are common for both components:
+ property OnBeforeDrawBar: TOnBeforeDrawBarEvent
| This event is executed just before the bar needs to be refreshed.
| You can make any custom initialization and/or draw the whole bar yourself
| to the given canvas. Set DefaultDraw to False, if you don't want to
| the default bar drawing to take place. Note, if DefaultDraw is set False
| no drawing to bar is done. So it is completely up to you want the bar
| contains. DefaultDraw defaults to True.
| Warning: You should use the given canvas only locally.
|
+ property OnAdvancedBeforeDrawBar: TOnAdvancedBeforeDrawBarEvent
| Same as OnBeforeDrawBar but has one extra parameter DrawParts: TBarParts,
| which allows you to select which Parts are drawn. Good if you wan to do
| custom drawing but want e.g. the gradient been drawn to the background.
| DrawParts is preset to contain all visible parts.
|
+ property OnAfterDrawBar: TOnAfterDrawBarEvent
This event is executed after the internal bar drawing has been done. This
way you can implement some custom content over the bar.
TBcBarMenusDrawModule:
This is a abstract class. Do not create instances of this class.
TBcCustomDrawModule:
+ property Description: string
| Just an custom string e.g. to provide user interface some readable name
| of the currently active DrawModule.
|
+ property OnMeasureMenuItem: TOnMeasureMenuItem
+ property OnDrawMenuItem: TOnDrawMenuItem
Provides easy way to do menuitem drawing for all the menuitems within
the menu while preserving the barmenu. It is important to respect the ARect
parameter. You can use TMenuItem measure/draw event at the same time.
By using the DefaultDraw/DefaultMeasure property you can force the Default
menuitem processing. DefaultDraw/DefaultMeasure defaults to True, so
remember to set it False if you do custom drawing.
Problems with the BarMenu Components?
=====================================
Please read the FAQ.txt and follow the instructions.
Known problems and limitations:
===============================
* TBcBarMainMenu Does not work with Borland's TMenuBar component.
* You cannot make submenus to have menu bars.
* If bar Side is set to sRight the submenu arrows are drawn over the
bar. Workaround -> make the bar look ok even if the arrows are at
"wrong" place. Use e.g. tiled, aligned and transparent single color
background bar to "reserve" the arrow space.
* MenuFont property does not affect the menuitem measuring sizes
(work-around, use OnMeasureMenuItem to do it manually)
============================================================================
Copyright (C) Bluecave Software
近期下载者:
相关文件:
收藏者: