The ActiveXControl class provided by JADE supports all interfaces of an ActiveX control type library imported into JADE. An ActiveX control is a special type of COM object. It is a user interface object that implements an interface that supports its use on forms. (This control was formerly known as an OCX control.)
An ActiveX control can optionally have a graphical user interface and can fire events. This enables existing third-party functions, such as highly specialized controls, to be used within your JADE applications.
To register and run an ActiveX control, all libraries used by the control must be available.
When you import an ActiveX control library into JADE, an abstract class of the specified library name is created as a subclass of the ActiveXControl class. This abstract class becomes the superclass for all classes that are subsequently generated corresponding to objects in the imported ActiveX control library. This ActiveX control library class is the superclass that supports the control object classes within that library, which have properties, methods, and events created that correspond to the default interfaces.
ActiveXControl subclasses inherit all of the standard properties and methods of the Window and Control classes, although not all of these inherited properties and methods have meaning to the control. (For a caveat on the use of SVG files when printing ActiveXControl controls, see "
Creating an instance of the ActiveX control in JADE does not create an instance of the ActiveXControl object, which occurs only when the control is added to a form. At run time, JADE translates the property and method requirements into ActiveX control equivalents and then calls the control to perform the function.
If you have added a property to an imported ActiveXControl object and flagged that property as a design time property (for details, see "
If the property value is required in the runtime instance, you can copy it from the persistent instance to the runtime instance in the windowCreated method on the ActiveXControl subclass. (As the windowCreated method will be a reimplementation of the Control::windowCreated method, you must include an
To refresh an ActiveX control that has changed but is already imported into JADE, simply import the ActiveX control type library again and give it the same name that it had previously.
An imported ActiveX control is added to the Control palette of the JADE Painter and cannot be distinguished from standard JADE-supplied controls. The ActiveXControl class is supported on forms defined as Web pages only when running on a Microsoft Internet Explorer browser.
As ActiveXControl class methods run only on the client node (including when running in JADE thin client mode), all methods generated for imported ActiveX controls include the
In JADE thin client mode, ActiveX control objects run only on the presentation client.
As the ActiveX control is external to JADE, no documentation about the control is contained within JADE, and any problems in functionality of the control should be taken up with the suppliers of that control. If an error occurs, JADE is dependent on the control returning error information that can be displayed to the user.
Transparent sibling controls are painted before an ActiveXControl, regardless of their zOrder settings. It is not possible to handle the painting of transparent controls in the correct zOrder when some controls are directly painted by JADE and others are painted by Windows separately.
If the control object returns a reference to another ActiveX interface in response to a method call or the get of a property, JADE creates an instance of the corresponding JADE interface class and returns a reference to that instance instead. (A mapping is maintained between JADE interface instances and COM interface instances.) For details about importing ActiveX control and automation type libraries into JADE, see
For a summary of the JADE property, methods, and event defined in the ActiveXControl class, see "ActiveXControl Class Property", "ActiveXControl Class Methods", and "ActiveXControl Class Event", in the following subsections. (Refer to your COM documentation for details about properties, methods, or constants provided by imported ActiveX control type libraries.)