Try OpenEdge Now
skip to main content
ABL Reference
Handle Attributes and Methods Reference : PARENT attribute
 

PARENT attribute

The handle of the parent of a widget.
Data type: HANDLE
Access: Readable/Writeable
Applies to: BROWSE widget (browse and column), BUTTON widget, COMBO-BOX widget, CONTROL-FRAME widget, DIALOG-BOX widget, EDITOR widget, FIELD-GROUP widget, FILL-IN widget, FRAME widget, IMAGE widget, LITERAL widget, MENU-ITEM widget, RADIO-SET widget, RECTANGLE widget, SELECTION-LIST widget, SLIDER widget, SUB-MENU widget, TEXT widget, TOGGLE-BOX widget, SHADOW-WINDOW widget, WINDOW widget
This attribute is read-only for field groups.
For field-level widgets, the parent widget is the field group that contains the widget. For field groups, the parent widget is the frame that contains the field group. For frames, the parent widget is the window or field group that contains the frame. For a submenu or menu item, the parent widget is the menu or submenu that contains the submenu or menu item.
For ABL windows, the parent widget is another window that parents this window. The main feature of these window families is that when the parent window is minimized, all of its child windows are hidden. .NET forms have a similar feature for parenting forms to other forms using the Owner property or the AddOwnedForm( ) method, which in OpenEdge are both provided by the Progress.Windows.Form class.
However, .NET form families exhibit one feature that ABL window families do not share—child forms never appear behind the parent form. The reason is that ABL window family behavior results from a native OpenEdge implementation that is different from the feature provided by Windows. In an ABL session, the .NET form and ABL window family mechanisms continue to work differently for forms and windows as long as .NET forms only parent forms and ABL windows only parent windows.
However, you can also parent .NET forms and ABL windows to each other using the PARENT attribute on the shadow window of a .NET form or the PARENT attribute on an ABL window. You can obtain the handle to the shadow window of a .NET form that you want to be a child or a parent from the value of the ProWinHandle property on the form (provided by Progress.Windows.Form). Then:
*To parent the form as a child of a window, set the form shadow window's PARENT attribute to the handle of the ABL window you want to become the form's parent.
*To parent a child window to this form, set the PARENT attribute of the ABL window you want to become the form's child to the shadow window handle of this parent form.
When you establish parent/child relationships like this between .NET forms and ABL windows, both the forms and windows in these mixed form and window families conform to the ABL window family mechanism (which allows the children to appear behind the parent) instead of conforming to the .NET form family mechanism (which forces the children to appear in front of the parent).
Note: You cannot use the PARENT attribute of form shadow windows to parent .NET forms to other .NET forms in an ABL session. You can only establish standard .NET parent/child relationships among forms using the Owner property or AddOwnedForm( ) method of .NET forms.

See also

Progress.Windows.Form class, ProWinHandle property