
        JwTools 1.00
        ============

     The JwTools is a small suite of controls made by me so that I can have a 
(somewhat) useful set of controls and to be able to learn more about programming 
in Delphi.  I have learned a LOT, and I know that there is a lot more to go.  
	I've tested these components (and are actually using them) in Delphi 1 and 
Delphi 4, however, I'm almost positive that they will work in 2 & 3.  Just 
install the JOEREG.PAS file in a package or in the install components options.
	I commented this code very heavily, so all will have an opportunity to 
learn from my experiences.  You will notice how I reuse code rather than just 
refer the code and a few other non-the-best-programming-practice practice, but 
my only defense is that I was experimenting, and I wanted each component to be 
self sufficient (That's my story, and I'm sticking to it!).  As I learn more, I 
will add more to this list, and maybe a few examples.  Also I will make a more 
accurate accounting of the version controls.  In the mean time, here they are:

  TJwLinez
	The whole point in this was to draw a line, during design time. VERY low 
on memory, and was basically an exercise.  I suggest to everyone who does this 
sort of thing to make his or her first component.

  TJwLabel
	The big problem with most labels is that you don't have control over the 
font at an API level.  This component does just that.  You have full control and 
can even make the font rotated.

  TJwSmile
	There really isn't any reason for this component.  This component is just 
for fun.  It draws a smiley face in many different shapes.  

  TJwWrapButton
	There was an occasion when I needed a button that would wrap it's text 
around to a label.  So what I did was combine the functionality of a TLabel with 
the painting functions of a TButton.  Worked out rather well, though the 
justification is a little weird sometimes.

  TJwRotatePanel 
	Pulling on the same idea as the Tlabel, I made a panel that will allow a 
rotated font.  This is only if you need to have a label with it's own window 
handle.  I actually made this one so that I could make an ActiveX control to 
throw into Access!

  TJwAutoAbout
	This component is a version control system.  You drop the component, and 
fill out the info, and you have a standardize about box for you code.  I 
encourage everyone to customize this to his or her liking.


**** THREE STAGE BUTTONS ****

	I keep looking at various install programs or fancy interfaces, and I 
often see "buttons" or things that receive a "click" that have three stages.  A 
"Rest" stage, a "Mouse Over" stage, and then a "Click" stage.  These buttons 
follow that philosophy, but in different ways.

  TJwPopupButton 
	The Popup button is a button that utilizes the Three Stage rules, but 
allows either the same painting routines as a normal "TButton" (though I'm still 
not satisfied with the results!) or by using Bitmaps.  Personally, I think this 
button is only really usefull with bitmaps.

  TJwFlashClick
	The flashclick is a TLabel that has different fonts that come into use 
during the different stages of the Three Stage Rule.  It also has an almost 
checkbox effect available that will hold the "Clicked" state even after the 
mouse has left.

  TJwFlashPanel
	This is just a TPanel vesion of the TJwFlashClick to allow this component 
to have it's own window handle.  This only becomes important if you want to 
export this into an ActiveX control.

  TJwRotateFlash 
	Taking from the TJwLabel example, I combined it with the TJwFlashClick and 
made a rotating version of the FlashClick.  Please take a look at this one, 
though, because I had to extend the font object quite a bit, and it wasn't that 
easy getting some of the properties to publish to the object inspector.  ( And 
if I was the only who didn't know, please... NOBODY tell me! )

**** DESIGN-TIME RESOURCES ****
	The idea that I had with this is to create an easier way to store various 
resources INSIDE the executable.  I mean, I know you can store it in a RES file 
or the like, but I wanted something during design-time that I could play with.

  TJwStringResource
	The string resource only holds one TStringList.  Not very grand, but I 
think it can be useful to store hash tables or standard files.

  TJwBitmapResource
	This will hold a TPicture.  The mere fact that it doesn't display this 
picture, I'm hoping will make it much simpler than just using a TImage 
component.


