ActiveX Components (ActiveX Controls, COM Objects & OLE Objects)
Microsoft first introduced the term ActiveX in 1996 when they launched a downloadable user interface control or software component that could be used by Internet Explorer to give more interactive or active content on a Web page to the reader. ActiveX controls were a re-branded subset of OLE custom controls (OCX) or OLE controls (OCXes) that were streamlined for downloading over the Internet and that could be digitally signed for security and authentication reasons. These ActiveX downloads were also tagged or marked as being safe for scripting and safe for initialization, to help give users confidence in using them in ActiveX Internet apps, as they were less likely to start making unauthorized actions on their systems. ActiveX controls also supported threading models, such as Apartment Model Threading, to try and improve performance in a multi-user or multi-process environment.
OLE controls (OCX's) or Object Linking and Embedding controls were themselves the successor to VBX controls first introduced by Microsoft to help programmers extend the functionality and features of their Visual Basic program by buying and reusing a VBX control built by another programmer or company, with expertise in a specific area. VBXes were limited to 16 bit usage for example on Windows 3.x, OCXes were available for both 16 bit or 32 bit architectures and began being widely used as people adopted Windows 95, although most people tended to use VBXes on 16-bit systems and OCX controls or OLE components on 32-bit systems for performance reasons. OLE itself was based on earlier work by Microsoft in their Office products to allow data to be exchanged and reused as objects inside other documents or files, such as embedding an Excel spreadsheet in a Word document and updating the content of that Excel spreadsheet for display using Dynamic Data Exchange (DDE). Hence the term OLE document, that is still in use today.
OLE was part of the Microsoft COM or Component Object Model, that enabled programmers to reuse software components and services in a logical and object oriented manner. COM was extended and expanded over the years to include DCOM, the Distributed Component Object Model that allowed programmers to call OLE objects or COM objects situated on other computers or servers. COM+ was added to support transaction services using technologies such as Microsoft Transaction Server (MTS) and this first appeared when Windows 2000 was launched to better support distributed transactions in more complex applications, where higher performance and throughput was required. COM has gradually become a common term used to refer to: COM, DCOM, COM+, OLE and ActiveX technologies in general.
ActiveX components can be created in a variety of object oriented programming languages, but are most commonly created using C++ and the Microsoft Foundation Class (MFC), such as: MFC 4.0, MFC 4.2 and MFC 6.0. When VB 5 was released in became possible for a Visual Basic programmer to create an ActiveX component for reuse by other people and whilst most programmers claim that the best ActiveX components were written in Visual C++ or by utilizing the ActiveX Template Library, it did not stop some entrepreneurial developers from Janus Systems writing one of the bestselling ActiveX UI controls of all time in VB5 and VB6, called Janus GridEx, a VB6 ActiveX, that gives the look and feel of the Microsoft Outlook UI inside your app.
ActiveX components and ActiveX controls come with a variety of file extensions such as: .exe, .dll and .ocx and these denote a certain type of usage either in-process as part of your program or app (an ActiveX DLL), or out-of-process as a standalone executable (an ActiveX Exe), as an ActiveX control or OCX control mainly used as a UI control on a form or page. Downloadable ActiveX controls are also packaged as .cab files or Cabinet files. These CAB files are packages of files compressed to take up less space and hence can be downloaded more efficiently over the Internet.
In this ActiveX Component gallery you will find a variety of commercial products that are ActiveX objects or ActiveX controls that people sometime refer to as VB controls or as a VB object, as they are often used within Visual Basic. You will find ActiveX Windows components that allow you to carry out visuals tasks, such as an ActiveX UI control for displaying video or images, an ActiveX image control or a non-Visual ActiveX upload component that will allow you to push a file up onto a server over the Internet using HTTP or FTP protocols.
Integrate your applications with multiple versions of Microsoft Word. WordController detects which version of Word is present at runtime and executes code appropriate to that version. Developers can write one set of code that can be deployed to users without worrying about what version of Word they have installed on their system. Use WordController to determine which version of Word is running, launch Word in any state (hidden, normal, minimized, maximized), create Word documents from text files, and more.
Add an Excel-compatible data grid or spreadsheet to your VB or VC++ application. Formula One ActiveX enables you to integrate an Excel-compatible grid or other spreadsheet functionality in your Windows applications without relying on Excel or writing VBA code. Also includes the First Impression 2D and 3D ActiveX charting component.
Control data input with a configurable knob. Global Majic Knob is an ActiveX component that creates a graphical knob that you can use for interactive data input, process control, realtime adjustments, and the like. It can be controlled via property pages, even at runtime, and all changes are dynamic. Possible uses include: VCR Jogging Component, Tuning Knob, Audio or Video Mixer, Volume Knob, Input Control Knob, Aircraft or Automobile Dial, etc.
Provide graphical entry of boolean data. Toggle Switch is a TRUE/FALSE, YES/NO, ON/OFF indicator. It displays either captions or pictures to represent the switch's state. It even has sound playing capabilities to indicate the switch turning on or off. Timers are provided for automatic cut-off and optional blinking can be implemented to draw attention. Property pages are available at runtime and all changes are dynamic.
Perform dynamic, two-dimensional charting. Strip Chart is an ActiveX component that provides an interface for one or more streams of realtime data or as a static two-dimensional charting tool. Use it to replace or enhance the plotting utility that comes with Excel. Other possible uses include: Factory Trending or Feedback, Vertical Plotting or Drilling Operations, Static Plotting, Virtual Oscilloscope, and more.
Monitor realtime data in a flexible gauge. Angular Gauge is an ActiveX component that enables you to display data in a graphical gauge. It includes a full library of pre-configured gauge styles to choose from and you can further customize its appearance via its extensive set of properties. Useful for: Factory Instruments/Gauges, Amperage Meter, Analog Clock, Compass, VU Meter Automobile Instruments, or any application involving display of realtime data.
Graphically display realtime progress data. Percentage Bar is an ActiveX component that works just like a standard percentage bar component but can also be configured to display percentages as a pie chart or a beaker or water tank. Any kind of shape that can be filled or emptied can be modeled and precisely monitored and/or regulated using the Percent ActiveX. It can be filled in any direction or orientation in either a linear fill or radial fill pattern.
Add a progress slider to your applications. Global Majic Slider can be configured as a standard slider - to display file transfer progress, drive space remaining, etc. - or used as a gauge or meter, thermometer, dynamic bar chart, or even to display a pipe, tank, or vessel filling or emptying. You have full control over properties including scale, handle, fonts, captions, annulars, and tics. It is even data-aware for monitoring database activity.
Create realistic alphanumeric LED-style displays. Alphanumeric LED is an ActiveX component that uses the 7-segment LED standard. It is capable of displaying alphabetic characters A through F, any numeric character, a moveable decimal point, and an optional sign value (+ or -). It is data-aware for displaying alphanumeric data from a database. Useful for Calculator displays, digital clocks, countdown timer, Time/Temperature display, and more.
Use a switching knob for graphical input selection. Selector Knob is an ActiveX component that can be used as a replacement for radio buttons to select a discrete option from a list of options. Use it to save real estate on your forms and give the end user an intuitive interface for choosing among several different input options. Possible uses include: Factory/Plant Floor Operations, Switch, grouped together for controlling multiple automation options, etc.