An OCX is an Object Linking and Embedding (OLE) custom control, a special-purpose program that can be created for use by applications running on Microsoft's Windows systems.
OCXs provide such functions as handling scroll bar movement and window resizing. If you have a Windows system, you'll find a number of files in your Windows directory with the OCX file name suffix.
Object Linking and Embedding was designed to support compound documents (which contain multiple information types, such as text, graphic images, sound, motion video). The Windows desktop is an example of a compound document and Microsoft used OLE to build it. OLE and the Component Object Model (COM), a more general concept that preceded OLE, support the development of "plug-and-play" programs that can be written in any language and used dynamically by any application in the system. These programs are known as components and the application in which they are run is known as a Container. This component-based approach to application development reduces development time and improves the program capability and quality. Windows application development programs such as PowerBuilder and Microsoft Access take advantage of OCXs.
Microsoft now calls an OCX an ActiveX control, the component object under Microsoft's set of ActiveX technologies, of which the fundamental concept is the Component Object Model (COM) and, in a network, the Distributed Component Object Model (DCOM).
An OCX or ActiveX control is actually implemented as a dynamic link library DLL module. (You can think of a DLL program as a "subprogram" that can be used by any number of application programs, each of which is a "container" for the DLL or OCX/ActiveX control "object.") Visual Basic and C++ are commonly used to write OCX or ActiveX controls.