MDI Applications in PowerBuilder .NET

Multiple Document Interface (MDI) is an application style you can use to open multiple windows (called sheets) in a single window and move among the sheets.

To build an MDI application, define a window with a type of MDI Frame, then open other windows as sheets within the frame. In a WPF application, these sheets open as tabbed documents.

You can find some general information about MDI applications here. For more information, see Application Techniques.

MDI frame windows

An MDI frame window has several parts: a menu bar, a frame, a client area, sheets, and (usually) a status area, which can display MicroHelp (a short description of the current menu item or current activity).

Client area

In a standard frame window, PowerBuilder automatically sizes the client area and the open sheets appear within the client area. In custom frame windows that contain objects in the client area, you must manually set the size of the client area. If you do not correctly size the client area, the sheets open, but may not be visible.

When you build an MDI frame window, PowerBuilder creates a control named MDI_1, which it uses to identify the client area of the frame window. In standard frames, PowerBuilder automatically manages MDI_1. For custom frames, write a script for the frame's Resize event to correctly set the size of MDI_1. Code is also added to the XAML for the window.

Tabbed interface

Sheets open as tabs in the client area of a WPF frame window. You can use any type of window except an MDI frame as a sheet in an MDI application. To open a sheet, use either the OpenSheet or OpenSheetWithParm function.