Currently I'm working on teaching myself how to develop and use OCXs. To do this I'm rewriting my standard 'hello world' type program which happens to be crossword viewer and solver program.
I intend to create the application as a number of OLE controls and then put the whole thing together at the end. Some of the controls will themselves act as containers for other controls and hopefully at the end I'll end up with a functioning (if not blindingly fast) application.
As I go along I'll make each control available here together with it's source code. I doubt whether many of the controls themselves will be of general use (though you never know). But maybe the source code examples will be of use to others treading a similar path.
I'm using Visual C++ 4.0 and VB 4.0 running under Windows 95 to develop these. The controls themselves are release built (i.e. no debug info).
To use the controls you'll have to unzip the relevant archive and then register the control by using RegSvr32.exe.
To create a Developer Studio project for a control unzip the source code archive into a suitable subdirectory and start the Developer Studio. Open the .mak file ensuring that the Open As option at bottom of the open dialog specifies 'Makefile'.
All the zip files contain a ReadMe.txt file which details what the associated controls do, any problems that there are with them, and major problems that were encountered during their development.
OK, the first step in this direction was to create a crossword cell control which can then be used by a more sophisticated grid control. So here it is...
Next step was to create the grid control. This is itself a control container as well and presented a few interesting problems along the way (see the ReadMe.txt file). You'll need the latest version of the cell control to make this work (if you've already downloaded this I'd advise on doing so again, since I've made a few minor changes to that as well).
Along with the grid OCX itself is a VB 4.0 test program that demonstrates the control. It's likely that you'll need to be running VB 4.0 to get this to work since I'm not sure what redistributables I need to ship with it to make it work otherwise.