Use the ABL features to embed a window
- Last Updated: June 19, 2019
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
To embed ABL windows in .NET forms, ABL provides a mechanism based on two OpenEdge .NET classes and an associated property:
-
Progress.Windows.MDIChildFormclass — This is a form class based onProgress.Windows.Formthat is specifically designed to embed the client area of one ABL window in an MDI child form. -
Progress.Windows.WindowContainerclass — This is a control container class based onSystem.Windows.Forms.UserControlthat can embed the client area of one ABL window in a .NET user control. You can then add this user control to a form in order to embed the ABL window in the .NET form. Using multipleWindowContainerobjects, you can embed multiple ABL windows in a single .NET form. -
EmbeddedWindowproperty — This is aHANDLEproperty on both theMDIChildFormclass and theWindowContainerclass that contains the handle of the ABL window whose client area is embedded in the respective .NET control container.
To embed an ABL window in a .NET form, you begin by setting the EmbeddedWindow property of the appropriate object to the handle
of the window whose client area you want to embed. Once you have set this property, the
behavior of the ABL window you have embedded, as noted previously, changes. For more
information on these changes, see the EmbeddedWindow
property entry in ABL Reference.
Each .NET class
for embedding ABL windows (MDIChildForm and WindowContainer)
requires a different procedure for embedding and displaying the
client area of a window in a form. Once you have done this, you
can work with the .NET form and its controls using .NET properties,
methods, and events, and you can work with the embedded widgets
using the same code you used before. The sections that follow describe
how to use each of these classes to embed windows in a form.