VFPTOOLS.VCX by Kelly G. Conway is being release into the public domain with no
warranties, written or implied. If it works for you, great. If it doesn't do what
I say or what you expect, sorry.

VFPTOOLS.VCX/.VCX contains the following classes:

SetProp
-------

While working in the form or class designer, select multiple objects and then
set properties for them. This isn't fancy, just easy to create and gets the job
done for me. Just do the following while you're form or class is open:

 set classlib to vfptools additive
 x=crea('SetProp')


ShowPEM
-------

This is a class that supports browsing of properties, events and methods for an
instantiated class (object). It also shows objects that are contained within the
viewed object and allows drill-down into those other objects.

Example usage: Say you have a form/class that contains a page frame, on which you
have placed another container, within which exists several controls. Once you have
instantiated ShowPEM for your form, you will see an object entry for the page frame.
Double-clicking on that page frame shows you a list of it's PEMs. Contained in that
list are object references for each page in the page frame. Double clicking on one
of them brings up it's PEMs. And so on...

The drill-down is handled by an array of pointers that is a property of each ShowPEM
object you instantiate. So, when you close the a ShowPEM, all of the ShowPEMs you
opened from within it close too.

To get started, you first need to have one of your forms or classes instantiated.
Then, instantiate ShowPEM as follows:

 set classlib to vfptools additive
 x=create('ShowPEM', <object_reference>)
 
 e.g.:
 x=create('ShowPEM', _SCREEN)
 y=create('ShowPEM', _SCREEN.ActiveForm)
 z=create('ShowPEM', oMyGoodness)		&& <g>
 
Optionally, you can have ShowPEM show only Properties or Events or Methods or Objects
by passing a second parameter:

 x=create('ShowPEM', _SCREEN, 'M')		&& Shows only Methods

Have fun! Tear it apart and see how it works. I think there are some neat ideas in there
like how I set it up to allow {Esc} to close the form and how objects references are
passed around and stored in the array property.
