Wow, I was amazed to find out how hard it is to find a handy overview of ActiveX on the web any longer.
This is taken for granted as such a fundamental technology I guess that nobody seems to want to discuss - they assume "everybody knows" all about it.
I did find a lot of stuff pretty deep under the hood though. Also references to very old articles (1997) that aren't online anywhere anymore.
An OCX is basically a special kind of DLL.
OCXs replaced VBXs a long time ago in VB years.
These are software components used to extend Visual Basic (and since the change from VBX to OCX, a lot of other programming environments).
Think of the toolbox in the VB IDE, typically over at the left of the window. You have text boxes, labels, buttons, and other controls.
An OCX can be added to your project to give you NEW items in your toolbox beyond those "internal to" VB. These items can be selected, "drawn on" your forms, and programmed just like a button or a picture box or something.
Some ActiveX Controls (the long name for an OCX) are very complex, with tens or even hundred of properties, methods, and constants associated with them.
But to use an OCX in your VB program you need a design-time license for the control. Some controls don't require a license (freeware), others come with one that installs when you install the "developer" version of the control.
A programmer can even create new ActiveX Controls in VB itself, for others to use and reuse. Such an OCX is added to new projects just like ones developed in C++.
Hope this helps a little.