====================================================================
SPLITTER.CC                                              version 1.0
                                                          6-May-1999
====================================================================


Author
------

Elwyn Rees
e.j.rees@cableinet.co.uk


Description
-----------

Splitter.cc contains custom components that enable construction of
split pane style user interfaces.

Two controls are provided HorizSplitter and VertSplitter. 

Each consists of a container, two child 'workarea' containers 
and a splitterbar.

A splitter child work area can contain other splitters.

Nesting a vertical and horizontal splitter gives 3 main screen 
work areas.

Splitter.cc works easiest with objects that posses an ANCHOR
property (ActiveX, Browse, Container, Editor, Image, Grid, 
NoteBook, OLE, ReportViewer, TabBox, and Text)


Files
-----

Readme.txt  - this file

Splitter.cc - Custom components: HorizSplitter and VerticalSplitter
Base classes: Splittercontainer and Splitterbar
              
Install this file with the "setup custom components"  dialogue.  
The two splitter objects will appear on the custom page of the component palette.


DEMO 1        - Two simple nested splitters containing grids and editors.
                Set the datasource to an appropriate table for testing.


DEMO 2        - The use of two custom methods SetRelativeLeftObj and SetRelativeTopObj
                that enables splitter to work correctly if other container are
                present above a vertical splitter or left of a horizontal splitter.

DEMO 3        - Use of the SplitterOnsize method.  This example shows how objects
                such as Treeviews that don't possess an anchor method can be resized.


How to use a Splitter component 
-------------------------------

1. Set the form.metrics property to PIXELS

2. Add horizontal or vertical splitter components 

3. Place objects in the splitter control child workareas. (Easiest
   route is then to set their Anchor property to container.

4. If necessary, in the form.OnOpen method configure relative 
   positioning by calling the SetRelativeLeftObj(oObjprop) and
   SetRelativeTopObj(oObjprop) methods with appropraite form
   object parameters (see Demo 2).

5. If required, overide the Splitter.OnOpen event and set up a call 
   to a splitter.SplitterOnsize() method where positioning/sizeing of 
   child workarea objects can be coded. (see Demo 3)


Classes
-------

Splitter.cc 
            HorizSplitter
            VertSplitter
            Splittercontainer
            SplitterBar

Each splitter compnent consists of a splittercontainer, 
splitterbar and two child containers where user components 
can be placed.



Known Problems
--------------

Windows repainting is incomplete if an Image object is used in a 
splitter child workarea.