
* XToolBar v2.0  - for Delphi 2.0 -  1996 Jean-Philippe Bernardy *


This is provided 'as is' so use this component as your own risk.
This is NOT guaranteed bug free!!

This is not public domain.
You can use this component freely.
You can distribute this component freely, as long as all the original files are included. (And no other is added!)

If you find it good, or if you use it regularly, please send me a postcard from your region at the address below

Jean-Philippe Bernardy
88A Rue Fernand Didier
6769 Robelmont
BELGIUM

Files
-----

XToolBar.dcu - main unit file
XToolBar.dcr - component ressources
XToolBar.txt - This file

XBarDemo.dpr | 
MainForm.pas - demo project files 
MainForm.dmf |


History
-------

20/7/96 1st version - very simple - source about 500 lines
05/8/96 2nd version - almost nothing to do with the first


Contact
-------
Questions? Comments? Bug reports? Flames? E-mail me at

JeanPhilippe.Bernardy@ping.be

Note : I understand French better than English

You can also take a look at my web page :

http://www.ping.be/~ping5661


Bugs
----
Read the 'limitations' section.
If you find one (or more), e-mail me.

Thanks
------
Thanks to Anders Ohlsson for is Floating bar code




Quick & dirty help file
-----------------------

I advise you to have a look to the demo project once you have installed the component. (Install it as usual)

A. Features
-----------

All the following features comes from other ToolBar components description. They are all incuded in this one!

-There can be multiple groups of buttons on each toolbar. 
-There can be multiple toolbars on each form. 
-There can be multiple toolbars in the same dockarea. 
-Toolbars to be docked to the top, left, right or bottom of the form. 
-They can also be dragged off a docking area and become free floating toolbars. 
-Floating toolbars are not restricted to the frame area. 
-Floating toolbars can be resized by the user. 
-Double clicking on a toolbar toggles its state between floating and docked. 
-Leave focus on the toolbar owner window. 
-Just like Microsoft's. Well almost.
-Auto align any child control when sized.
-Just drag and drop almost any Delphi component onto XToolBar.
-No code to write to enable any of XToolBar's standard functions or abilities.

!! PLUS !!

-You can customize the position of dockareas
 ie : The left one can be placed between two left aligned controls.
-Two child controls can work together : one is shown when the bar is docked vertical, the other when floating or horizontal
(Yes, I admit : you'll have to write one code line to enable that)
-Cool 3D look

B. Limitations
--------------

-Only for Delphi 2.0 and win 95 (not tested on NT)
-If you have more than about 20 control groups on the same bar, it could cause problems.
-Don't set align property of child controls to another value than alNone
-All child controls must have the same height.
 All child controls must have the same width when docked vertically.
 Changing their visible property is also not supported.
-If you are playing with subclassing the form window procedure, it could cause some problems. If you do such things, just ask me : I'll tell you how to get rid of the problem, but you'll have to override your main form WndProc.

-Others ? Drop me a line, I'll see what I can do.

C. Components quick reference
-----------------------------

TXToolBar
--------

properties
-ControlHeight : Height of all the controls - same value in the whole app
-ControlWidth : Width of all the controls when docked vertically - same value in the whole app
-DockedTo : Dockarea, nil when floating
-Spacing : Space between the control groups - same value in the whole app

events
-OnDockChanged
-OnVerticalChanged - vertically docked
-OnVisibleChanged

Self explanatory. Called affter the corresponding action is done.

methods
-SlaveControl(Master,Slave : TControl);
 Check demo prj for an example.

TDocks
------
properties
-BoundLines : the sides that will have a line drawn on them
-ControlHeight, ControlWidth, Spacing : same as above
-Position : side of the form to place the dockarea. There should be maximum one per side.
-Visible : readonly - false when width or height is nul.

events
-OnInsertBar
-OnRemoveBar
-OnVisibleChanged

Self explanatory. Called affter the corresponding action is done.

TToolPanel
----------
It should be used to group components that can't be separated.
It is the only container allowed on a TXToolBar!
(But you can put any sub-container within a TToolPanel)

Excepting that, it is the same as TPanel.
