Progress
External Program
Interfaces
How Progress Encapsulates an ActiveX Control
Progress encapsulates an ActiveX control using the control-frame. The control-frame provides the basic interface between the ActiveX control and the 4GL through its two separate but related objects, the control-frame widget and the control-frame COM object. (For an overview of the relationship between ActiveX controls and the control-frame, see Introduction.")
Control-frame Widget
The control-frame widget is a field-level widget, and as such it establishes the relationship between the ActiveX control and other Progress widgets in the user interface. Thus, it is the control-frame widget attributes (like ROW and TAB-POSITION) that maintain the relationship between the ActiveX control and other field-level widgets. For example, the spin button control in Figure 9–1 has a location and tab order that is determined by the control-frame widget location and tab order in the Customer Information dialog box.
The control-frame widget also allows you to handle widget events that interact with other field-level widgets (like TAB and LEAVE) or that have special Progress significance (like GO and END-ERROR). For more information on handling widget events in the 4GL, see the sections on user input and user-interface triggers in the Progress Programming Handbook .
Control-frame COM Object
The control-frame COM object is the actual ActiveX control container. It provides the initial point of access to the ActiveX control from the 4GL. Through this COM object you can access the component handle of the ActiveX control, which in turn allows you to directly access the ActiveX control’s properties and methods. For information on accessing ActiveX control properties and methods in the 4GL, see Using COM Objects In the 4GL."
Figure 9–2 shows the relationship between the ActiveX control, its control-frame, and other widgets in the Progress user interface.
Figure 9–2: ActiveX Control Encapsulation In Progress
![]()
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |