Try OpenEdge Now
skip to main content
GUI for .NET Primer
Basic Types of Forms and Application Design : What is a form? : MDI and MDI child forms

MDI and MDI child forms

A Multiple Document Interface (MDI) form is a window that acts as the background of an application and is the container for MDI child forms. An application can have only one MDI form object but many MDI child forms. You can construct your own application-specific MDI form and child forms using the Visual Designer. If an MDI child form has menus, the child form's menu bar is merged with the MDI form object's menu bar when the MDI child form is active at run time. Your application determines how the menu merge will be performed.
The closest thing to MDI using ABL widgets is an ABL WINDOW containing multiple FRAME widgets. Even though each FRAME is parented to the same WINDOW, the similarity to true MDI ends there. While a WINDOW can contain a MENU-BAR widget, a FRAME cannot, so the idea of merging a child FRAME's menu with its parent WINDOW menu does not apply.
A minimized MDI child form is displayed as an icon within the MDI form. MDI child forms are designed independent of the MDI form, but are always contained within the MDI form at run time.
In ABL, you typically build a .NET MDI using different instances of Progress.Windows.Form. The difference between the MDI main form and the MDI child forms are in the property settings of each form instance.
You can also embed an existing ABL window in a special OpenEdge .NET MDI child form (Progress.Windows.MDIChildForm). When embedded in this way, only the client area of the original ABL window is displayed. The embedded window's title, menu, status area, message area, and border are not displayed. Embedding an ABL window is discussed in more detail in Embedding an ABL window in a .NET form.