Previous Next

CONTROL-FRAME widget

(Windows only; Graphical interfaces only)
A control‑frame is a field‑level widget that holds an ActiveX control that you select for your application from the OpenEdge AppBuilder. A control‑frame is always created dynamically.
A control‑frame has no visualization.
The AVM instantiates two separate but related objects when you create a control‑frame:
*
*
The widget itself provides a connection between the ActiveX control and the ABL user interface. When the widget is realized, the AVM creates a COM object that provides the real ActiveX control container support. Thus, the control‑frame widget provides widget attributes and methods to manage the ABL side of the interface, while the control‑frame COM object provides COM object properties and methods to gain access to the control itself.
When you insert an ActiveX control into your application, the AppBuilder creates a control‑frame with the CREATE widget statement and specifies a default name (NAME attribute value) for the widget. The AppBuilder creates a design‑time instance of the ActiveX control based on the control you select in the AppBuilder, making its design‑time properties available to the AppBuilder. When you save your application, the AppBuilder saves the design‑time instance in a separate file (with .wrx extension) for use at run time.
At run time, your application accesses the control indirectly through the control‑frame widget. First, you use the COM-HANDLE attribute to return a component handle to the control‑frame COM object. Second, you use this handle to access properties and methods of the control‑frame COM object, which provide access to the ActiveX control itself.
This is a SmartViewer into which a developer, using the AppBuilder, has dropped a literal widget, a fill‑in widget, and a control‑frame widget. The control‑frame widget holds a Crescent spin control, as shown:
Attributes
Control‑frame widget attributes
 
Properties
Control‑frame COM object properties1
 
Methods
Control‑frame widget methods
 
Control‑frame COM object methods1
 
Events
 
BACK-TAB navigation key function event
END-ERROR universal key function event
GO universal key function event
HELP universal key function event
TAB navigation key function event
Notes 
*
*
*
 
/* Control Frame widget */
DEFINE VARIABLE hCFwid    AS HANDLE     NO-UNDO.
/* Control Frame COM Object */
DEFINE VARIABLE hCFcom    AS COM-HANDLE NO-UNDO.
/* ActiveX Control */
DEFINE VARIABLE hDateSpin AS COM-HANDLE NO-UNDO.
 
/* Control-frame created with handle hCFwid and loaded with ActiveX
   control named DateSpin. */
 
ASSIGN
  hCFcom    = hCFwid:COM-HANDLE
  hDateSpin = hCFcom:DateSpin.
As an alternative, use the COM object Controls property to return a handle to a control collection. Use the control collection Item(1) method call to return the handle to the ActiveX control. (This control collection object provides support for searching multiple ActiveX controls in a control‑frame, available in a future release of OpenEdge.)
*
*
*
*
See also 
CREATE widget statement, The chapter on ActiveX control container support in OpenEdge Development: Programming Interfaces

Previous Next
© 2013 Progress Software Corporation and/or its subsidiaries or affiliates.