(Windows only; GUI for .NET only)
The handle to an ABL window whose client area is embedded in the client area of the specified .NET control container. This control container can be either a Progress.Windows.MdiChildForm or a Progress.Windows.WindowContainer (which you can add to any Progress.Windows.Form). After a .NET form with this embedded client area is displayed, you can interact with its ABL widgets using the supported widget attributes, methods, and events as if they were displayed in the original ABL window.
Data type: HANDLE
Access: PUBLIC Readable/Writeable
Applies to: Progress.Windows.MDIChildForm class, Progress.Windows.WindowContainer class
To reset a previously set instance of this property on a control container:
Note that when you embed an ABL window in a .NET form, only the client area of the window is embedded. ABL ignores all other components of the ABL window, including border controls, menu bar, message area, and status area. For more information, see the reference entries for the Progress.Windows.MDIChildForm class and Progress.Windows.WindowContainer class.
When you embed the client area of an ABL window in a supported .NET control container, the various attributes, methods, and events of the embedded ABL window either function normally, change behavior, or have no function (are ignored), depending on the element. The following tables describe how these elements are affected by embedding the ABL window. For more information on the attributes, methods, and events of an ABL window, see the WINDOW widget reference entry.
The following table lists those attributes that work on an embedded ABL window in the same way as on a non-embedded window.
BGCOLOR | CONTEXT-HELP-FILE1 | DROP-TARGET |
DYNAMIC | FIRST-CHILD | HANDLE |
HWND | INSTANTIATING-PROCEDURE | KEEP-FRAME-Z-ORDER |
LAST-CHILD | MENU-KEY2 | MENU-MOUSE2 |
MOUSE-POINTER | NAME | NEXT-SIBLING |
NUM-DROPPED-FILES | NUM-SELECTED-WIDGETS2 | POPUP-MENU2 |
PREV-SIBLING | PRIVATE-DATA | SCROLL-BARS3 |
THREE-D | TYPE | WINDOW |
The following table describes attributes whose behavior on an embedded ABL window differs from how they behave on a non-embedded window.
Attributes | Behavior changes |
---|---|
PARENT | This attribute specifies the parent of a window in an ABL window hierarchy. An embedded window cannot participate in this hierarchy. So, the PARENT attribute always returns the Unknown value (?) for an embedded window. ABL ignores any setting of this attribute on an embedded window. |
SENSITIVE HIDDEN VISIBLE |
The SENSITIVE attribute indicates if a widget
is enabled to receive keyboard and mouse input. The default value
for the SENSITIVE attribute on a window is TRUE. Setting this attribute
to FALSE on an embedded window disables input to the embedded frames,
but it does not disable the non-client portions of an embedding
MDI child form or any form that contains a Progress.Windows.WindowContainer
object. Similarly, setting VISIBLE to FALSE or HIDDEN to TRUE on an embedded window hides the embedded frames but does not hide the .NET control container into which they have been embedded. |
X Y ROW COLUMN |
When queried on an embedded window, the X, Y, ROW, and COLUMN attributes return 0, 0, 1, and 1, respectively, because these attributes return position values relative to the embedded window's container. The embedded window's position is fixed at the upper-left corner of the container's client area. ABL ignores any setting of these attributes on an embedded window. You must set the position of any Progress.Windows.WindowContainer within its containing form using appropriate .NET properties. |
WIDTH-CHARS WIDTH-PIXELS HEIGHT-CHARS HEIGHT-PIXELS |
The WIDTH-CHARS, WIDTH-PIXELS, HEIGHT-CHARS, and HEIGHT-PIXELS
window attributes return the width and height, respectively, of the client area of
the embedded window, just as they do in a non-embedded window. ABL ignores any
setting of these attributes on an embedded window. You must set the size of any
Progress.Windows.WindowContainer within its containing form using appropriate .NET
properties. Note: The FULL-WIDTH-* and FULL-HEIGHT-* attributes include
the size of the non-client areas of a window and, as such, are ignored for
embedded windows (see Table 3).
|
VIRTUAL-HEIGHT-CHARS VIRTUAL-HEIGHT-PIXELS VIRTUAL-WIDTH-CHARS VIRTUAL-WIDTH-PIXELS |
These attributes work for embedded windows. They determine the size of the virtual window for scrolling frames in windows. As noted for the SCROLL-BARS attribute in Table 1, ABL handles the scrolling of frames within an embedded window. For embedded windows, ABL maintains a minimum size for the virtual window; you cannot make the size of this virtual window smaller than the physical size of the embedded window container because that would cause the container to become smaller. |
The following table lists attributes on an embedded ABL window that ABL ignores. You can read or write these attributes without error, but they have no effect because their function has no meaning for the client area of an ABL window embedded in a .NET form. For the corresponding behavior in a .NET form object, use the appropriate .NET class members.
ALWAYS-ON-TOP | CONTEXT-HELP | CONTROL-BOX |
DCOLOR | FGCOLOR4 | FONT4 |
FULL-HEIGHT-CHARS5 | FULL-HEIGHT-PIXELS5 | FULL-WIDTH-CHARS5 |
FULL-WIDTH-PIXELS5 | ICON | MAX-BUTTON |
MAX-HEIGHT-CHARS6 | MAX-HEIGHT-PIXELS6 | MAX-WIDTH-CHARS6 |
MAX-WIDTH-PIXELS6 | MENU-BAR | MESSAGE-AREA |
MESSAGE-AREA-FONT | MIN-BUTTON | MIN-HEIGHT-CHARS7 |
MIN-HEIGHT-PIXELS7 | MIN-WIDTH-CHARS7 | MIN-WIDTH-PIXELS7 |
PFCOLOR | RESIZE | SCREEN-LINES |
SHOW-IN-TASKBAR | SMALL-ICON | SMALL-TITLE |
STATUS-AREA | STATUS-AREA-FONT | TITLE |
TOP-ONLY | WINDOW-STATE | – |
The following table describes how methods are supported on an embedded ABL window.
Methods | Support provided by ABL |
---|---|
END-FILE-DROP( ) GET-DROPPED-FILE( ) |
These methods work for file drag-and-drop operations on an embedded window. |
GET-SELECTED-WIDGET( ) | This method returns the handle of the selected frame in an embedded window. |
LOAD-MOUSE-POINTER( ) | This method specifies the mouse pointer to display when the pointer is moved over the embedded frames of the window. When a window is embedded in a form, the mouse pointer changes when the pointer is over these embedded frames, but it does not change when the pointer is over the non-client areas of the form. If you want the non-client areas of the form to have the same pointer as the embedded window, you must set the form pointer separately using the Cursor property on the form. |
LOAD-ICON( ) LOAD-SMALL-ICON( ) MOVE-TO-BOTTOM( ) MOVE-TO-TOP( ) |
ABL ignores execution of these methods on an embedded window. |
For an embedded ABL window, ABL frame-level (ENTRY, LEAVE, etc.) and field-level events (mouse button clicks, etc.) fire normally on the embedded frames and the widgets they contain (see the Handle-based Object Events Reference). However, most window-level events do not fire because the ABL window is not visualized. You must handle .NET form events in ABL using .NET event handlers (see the Class Events Reference). The following table describes how ABL supports window-level events for embedded ABL windows.
Events | Support provided by ABL |
---|---|
DROP-FILE-NOTIFY | This event fires when a file is dragged and dropped onto the client area of an embedded window whose DROP-TARGET attribute is set to TRUE. |
WINDOW-RESIZED | This event fires whenever the embedded window container
is resized, as follows:
By handling the ABL WINDOW-RESIZED event in a trigger, you can resize the embedded frames and their contents to fit the new size of their container. |
ENTRY LEAVE PARENT-WINDOW-CLOSE WINDOW-CLOSE8 WINDOW-MAXIMIZED9 WINDOW-MINIMIZED WINDOW-RESTORED9 |
The AVM never generates these events for an embedded window. |