												CUSTOM CONTROL COLLECTION KIT
														 CONTROL DESCRIPTION

													 The Friendly Solutions
														43855 Glenhazel Drive
															Ashburn, VA 22011
																(703)729-5936

									(c)CopyRight 1994-95, The Friendly Solutions
														 All Rights Reserved

WELCOME
-------

Thank you for evaluating our custom controls.  You will find that they are
high quality controls that have been well designed, well coded and last but
not least well tested in our own applications.


GENERAL INFORMATION
-------------------

All the controls in CCCKIT.DLL (16 bit) can be used from within Resource
Workshop that comes with Borland International's development kit.  You need to
choose the 'Install Control Library...' option and then select CCCKIT.DLL.
The program has been tested under Windows 3.11 and Windows NT 3.5.  CCCKIT.DLL
is a 16 bit application.

CCCKIT32.DLL is the 32 bit version and can not be used from within Resource
Workshop.  If you register the 32 bit version you will receive a demo version
of CCCKIT.DLL (16 bit) that you can use in Resource Workshop to create your
dialog templates.

When you create a dialog box in RW, you must include the file 'CCCKIT.HPP' in
your RC file.  If you do not, you will get an error from RW about an undefined
symbol.  This is the only requirement for using the DLL in RW.  In this demo
package we have included a C/C++ sample application that can be compiled for
16 and 32 bit platforms including Win32s without any change in code.  If you
understand how to use these controls, then the you will know how to use them
in MFC from MSVC++ or OWL from BI C/C++ or any other framework.

PROBLEMS
--------

The Radio Buttons have a problem under Win32s.  We suspect that the problem
may have to do with a bug in Win32s.  There is NO problems under NT 3.5.

AVAILABILITY
------------

This new version 1.50 should be available by the end of April 95.  If you
register the v1.50 kit before then, we will ship the current v1.03e to you
and then ship the v1.50 at the end of April 95.


HOW TO COMPILE THE SAMPLE APPLICATION
-------------------------------------

Create a directory ccckeval and create 2 sub-dir under it i)out16 ii)out32.
Force your compiler to produce all the OBJs into those dir based on platform.
If you are using BC C/C++ 4.5 then just create the sub directories and the
project file included will automatically use the OUT16 and OUT32 directories.

Make sure that you are using the latest windows.h and windowsx.h files which
include all the latest message crackers etc.  It also seems that in MSVC++ 1.x
that you might get an error about end of file stuff.  You need to just re-save
the files in the project.


HOW THE CONTROLS WORK IN GENERAL
--------------------------------

All the controls use the windows SendMessage or PostMessage functions to
communicate changes or user interaction with the control.  To communicate with
the control you need to do the same.  In most cases you need to use SendMessage
function in order to reflect any changes on the spot.  Please read the file
file 'CCCKIT.HPP'.  Each control has its own section and each section describes
the messages that the control sends or can receive.

Some of the controls use a user defined structure that is required to
communicate with it.  This method was selected as the best way to pass large
pieces of data back and forth.  A pointer to this structure is passed as the
LPARAM parameter.


THE CUSTOM CONTROLS YOU WILL FIND IN CCCKIT
-------------------------------------------

	SCROLL BAR CONTROL

	The scroll bar control works both horizontally and vertically.  It uses a
	long value for scrolling thus can exceed the 65K limit of the regular scroll
	bar control.  It has two additional button to scroll to the end or beginning
	of the range.  This control has enough messages to set and get values.

	VIRTUAL LIST BOX CONTROL

	This control is a cross between a grid control and a list box control.  It
	is meant to be more of a list box control.  You can use this control to
	scroll 2 billion rows approx.  It uses the SCROLL BAR CONTROL.  You can have
	multiple columns in this control.  You can optionally have a title for each
	column.  The column width can be resized on the fly at run-time.

	You will receive a message every time the user select a new row.  If the
	user double clicks on an existing row it will send a message.  You can
	change some of the colors it uses to hilight rows etc. There are a few
	limitations that will be addressed soon.  The user cannot select multiple
	rows.  You cannot save the width of each column, and reset it each time it
	is shown.

	SPIN CONTROL

	This control can be placed near an edit control.  You need to set an upper
	limit and a lower limit for the control.  You also need to specify the value
	that it will use to step up or down.  Again it will send messages when the
	user clicks the control.  It uses a float type for all its values.  So you
	can use .25 etc. as a step value.

	CALENDAR CONTROL

	This control has a fixed width and length, that you cannot change.  It is
	small enough so as not to take up too much space in a dialog box. It is big
	enough so it does not look tiny.  It uses a 12 point Arial font that cannot
	be changed since that would cause a problem to the size.  If this causes a
	problem to you let us know.  Using this control will guarantee a valid date.
	It uses a structure to pass date values back and forth.  The structure
	contains the date as a string and as int's broken down to D.O.Week,
	D.O.Month, M.O.Year and the Year.

	TAB CONTROL

	This control allows you to break up a huge dialog box into several logical
	dialogs using a single dialog box.  When using this control in RW you need
	to be aware of the following:

	 -If you place a control directly on the TAB control, the control may be
	  hidden by the TAB control.  This does not happen at run-time.

	To use the TAB control you can either write your own functions to handle the
	different dialogs that will be placed on the TAB control or use the file
	'RESLOAD.CPP' and 'RESLOAD.HPP' to make your life easy.  Look at the sample
	code in 'TESTTAB.CPP'.

	This control can have a maximum of 16 TABs.  Again if you find this to be a
	major limitation let us know.

	EDIT CONTROL

	This control overcomes the limitations of the standard Windows Edit Control.
	It does not completely replace the standard Edit Control, but does so to a
	great extent.  There are two limitations to this control:

		- You cannot use it for text over 64 bytes
		- It will not scroll text as you type

	Its main purpose is to control the way the user enters data.  You can now
	control the way a user enters dates, numbers, floating point numbers.  You
	can use a mask to control input for a telephone number or SSN etc.  This
	control takes care of all that.  You can limit the length of the string at
	design time in RW.  You can use it for passwords, or to force certain
	characters to upper case.

	STATIC CONTROLS

	There are several types of static controls in the dll.  To use them just
	place them in your dialog and double click on it.  Then customize it the way
	you feel fit.  You can change the text colour, the visual effect etc.

	BUTTON CONTROLS

	There are 3 types of button controls - Radio, Check and regular buttons.  To
	use them do the same as the static control.  The radio and check box
	controls allow you to change the visual effects too.

	VIRTUAL COMBOBOX

	This is a very useful control that behaves and looks like a 3D control.  The
	difference is that it will allow the user to scroll through 2+ billion
	options that well exceed the standard 64K limit.  To learn how to use them
	take a look at the sampleXX.exe in the TESTTAB.CPP/HPP files.  This control
	works quite a bit like the virtual list box.


FINAL NOTE
----------

Please give us some feed back regardless of what you think of the kit, it will
help us to improve it.  For those of you who are currently registered and
using the controls, this latest version has improved the TAB controls and
added a new message that forces the TAB control to redraw any controls that
are on top.  The EDIT control when used without a MASK will work in INSERT
mode by default like regular controls.  We also fixed a slight problem when
the EDIT control displayed a '-100' or '-100.00'.  All the controls that
display text now use the System HIGHLIGHT color constants.

*** End Of File ***
