This is an example of using the spreadsheet control with C only.
It demonstrates six of the most common operations in an
application of this type.  The six operations demonstrated have
corresponding numbere comments in the source file.  Remember to
link bivbx.lib in with your project.

1)  Initialize the Visual Basic emulator DLL.
This sets up BIVBX10.DLL for use with your application.
"Thunder" is the class prefix used by Visual Basic.

2)  Initialize the control.  At this point, the DLGINIT data is
being used to set up the control.

3)  Respond to the VBX Event.  All Visual Basic control
generate this event. In Visual Basic this event would
automatically be trapped and processed, but in C, the
application must trap this event.  lParam will contain a
far pointer to an event structure which can be used to determine
which control caused the event, and which event within the
control is being triggered.

4)  Determine which VBX Event occurred.  The EventIndex member
of the event structure contains the index number of the event
which occurred.  The easiest way to get these indices is to look
at the VBXGEN generated header files.

5)  Decode the event arguments.  The macros VBX_EVENTARGNUM and
VBX_EVENTARGSTR are used to extract the event arguments.  The
arguments passed to each event are listed in the response
functions in the VBXGEN generated header files.

6)  Read a property of the control.  This involves three steps
a) get the window handle of the control
b) get the HCTL of the control
c) use the HCTL and the appropriate API call to retrieve the
data

In this case, we are calling GetDlgItem to get the window
handle of the control.  You may notice that the control
contains an hWnd property, but we can't use it yet because
we need an HCTL before we can get ANY properties of the control.

We are using VBXGetPropByName to access a property.  We could
use VBXGetProp, which retrieves a property by its index
value.  The index values are enumerated in the VBXGEN generated
header files, and can also be retrieved with the function
VBXGetPropIndex.

7)  Before termination, we call VBXTerm() to perform cleanup,
and decrement the usage count of BIVBX10.DLL.

