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.
Serializable:
No
Constructor
PUBLIC MDIChildForm ( INPUT mdi-parent AS System.Windows.Forms.Form,
INPUT abl-window AS HANDLE )
mdi-parent
An object reference to a .NET form that you have initialized as an MDI parent form.
abl-window
A handle to an ABL window whose client area you want to embed in the MDI child form.
This class does not contain methods (beyond those it inherits from its base class).
Public Events
This class does not contain events (beyond those it inherits from its base class).
Notes
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 window.
Caution: 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 Progress.Windows.MdiChildForm.
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.