(Windows only; GUI for .NET only)
A .NET form designed for use as an MDI child form that allows you to embed the client area
of an ABL window for display in the client area of the form. This allows the widgets in the
ABL client area to be displayed in the .NET MDI child form, but also allows you to interact
with these widgets much as if they were still displayed in the original ABL window.
PUBLIC MDIChildForm ( INPUT mdi-parent AS System.Windows.Forms.Form,
INPUT abl-window AS HANDLE )
- An object reference to a .NET form that you have initialized as an MDI parent
- A handle to an ABL window whose client area you want to embed in the MDI child
This class does not implement interfaces (beyond those it inherits from its base
This class does not contain methods (beyond those it inherits from its base class).
This class does not contain events (beyond those it inherits from its base class).
- To embed the client area of an ABL window in a .NET MDI child form, instantiate this
class to create the form, setting the constructor parameters to reference the parent MDI
form and the ABL window whose client area you want to embed. If you later want to change
the ABL window whose client area is embedded in this form, you can set its
EmbeddedWindow property to the handle of a different ABL window. Note
that you can make this change only if the previous ABL window has not been realized, or
after you first delete this realized window before resetting the property. For more
information on how ABL supports the behavior of the ABL window and its client area
embedded in a Progress.Windows.MdiChildForm, see the EmbeddedWindow property reference entry.
- The client area of a Progress.Windows.MdiChildForm is designed to
contain only the ABL widgets from the client area of a single ABL window. If you want to
create an MDI child form that contains the client areas of multiple ABL windows,
initialize a Progress.Windows.Form object as an MDI child form and add a
Progress.Windows.WindowContainer object to this form for each ABL
You can also add .NET controls to the client area of a
Progress.Windows.MdiChildForm by using the Add( )
method on the inherited System.Windows.Forms.Control+ControlCollection
inner class referenced by the inherited Controls property. However,
Progress Software Corporation recommends that you do not use this method to add .NET
controls to a Progress.Windows.MdiChildForm because this can result in
unexpected control and form behavior.
- The menus from an embedded ABL window are not added either to the MDI child or its
parent forms. You must add any associated menu and toolbar functionality to the
appropriate form using corresponding .NET controls.
- The message and status areas of an embedded ABL window are not included in the MDI child
form. Any messages normally displayed in the message area of the ABL window appear in an
ABL alert box and any status messages normally displayed in the status area of the ABL
window are ignored.
- As you resize the form, either manually or programmatically, the AVM automatically
resizes the embedded client area of the ABL window to fill the client area of the
- The AVM passes all unhandled keystrokes in an embedded ABL client area to the form that
contains it. This means that you can interact with menus and use menu and toolbar
accelerator keys even when focus is on the embedded client area.