MDI Frame Window

This document covers the following topics:


Description

An MDI (Multiple Document Interface) frame window is a type of dialog that hosts a workspace window known as the "MDI client window", which can contain multiple MDI Child Windows. These child windows are also sometimes referred to as "document" windows, since they are often used in Windows applications to display the contents of different documents - hence the term "Multiple Document Interface").

An application that makes use of the MDI concept is known as an MDI application. A good example of such an application is Natural Studio itself, the main window being the MDI frame window and the editor windows and list views being the MDI child windows.

Note that the MDI client window is implicitly created by Natural when the MDI frame widow is created, and is not a separate GUI object. Thus, attributes relating to the MDI client window (such as BACKGROUND-COLOUR-NAME) are applied to the MDI frame window instead. The MDI client window automatically extends to fill the complete interior area of the MDI frame window not occupied by any status bars, tool bars or dialog bars. Its current size can be retrieved by applying the INQ-INNER-RECT action to the MDI frame window. Note that the MDI client window may not contain any dialog elements.

Attributes for MDI Frame Window

Attribute Name Query Set/Modify In Attr. Window
ACTIVE-CHILD X -/X  
AUTO-ADJUST X -/X X
BACKGROUND-COLOUR-NAME X X/X X
BACKGROUND-COLOUR-VALUE X X/X X
BITMAP-FILE-NAME X X/X X
CLIENT-DATA X X/-  
CLIENT-HANDLE X X/X  
CLIENT-KEY X X/X  
CLIENT-VALUE X X/X  
COMPATIBILITY X X/- X
CONTEXT-MENU X X/X X
DEFAULT-BUTTON X X/X X
DOCKING X X/X X
DPI X X/-  
DROP-MODE X X/X X
ENABLED X X/X X
EVENT-QUEUEING X X/X X
FIRST-CHILD X -/-  
FOLLOWS X -/-  
FONT-HANDLE X -/-  
FONT-STRING X X/- X
HAS-DIL X X/X X
HAS-HELP-BUTTON X X/X X
HAS-MENU-BAR X X/-  
HAS-STATUS-BAR X X/X X
HAS-SYSTEM-BUTTON X X/- X
HAS-TOOLBAR X X/X X
HAS-TOOLTIP X X/X  
HELP-FILENAME X X/X X
HELP-ID X X/X X
HORIZ-SCROLLABLE X X/X X
LAST-CHILD X -/-  
MAXIMIZABLE X -/- X
MAXIMIZED X X/X X
MENU-HANDLE X X/X  
MINIMIZABLE X X/- X
MINIMIZED X X/X X
MODIFIED X X/X  
MODIFIED-SUCCESSOR X -/-  
NAME X -/-  
PARENT X X/-  
POPUP-HELP X X/X X
PREDECESSOR X -/-  
RECTANGLE-H X X/X X
RECTANGLE-W X X/X X
RECTANGLE-X X X/X X
RECTANGLE-Y X X/X X
RTL X -/- X
SCROLLRANGE-X X X/X  
SCROLLRANGE-Y X X/X  
SIZE-MODIFIABLE X -/- X
STATUS-HANDLE X X/X  
STATUS-TEXT   -/X  
STRING X X/X X
STYLE X X/- X
SUCCESSOR X -/-  
SUPPRESS-CLIENT-SIZE-EVENT X X/X  
SUPPRESS-COMMAND-STATUS-EVENT X X/X  
SUPPRESS-DRAG-DROP-EVENT X X/X  
SUPPRESS-DRAG-ENTER-EVENT X X/X  
SUPPRESS-DRAG-LEAVE-EVENT X X/X  
SUPPRESS-DRAG-OVER-EVENT X X/X  
SUPPRESS-ENTER-EVENT X X/X  
SUPPRESS-IDLE-EVENT X X/X  
SUPPRESS-LEAVE-EVENT X X/X  
SUPPRESS-SIZE-EVENT X X/X  
TOOLBAR-HANDLE X X/-  
TOOLBAR-POS X X/- X
TOOLTIP X X/X  
TYPE X X/- X
VERSION X -/-  
VERT-SCROLLABLE X X/X X
VISIBLE X X/X X
WALLPAPER X X/X X

Events

After-Any Event, After-Open Event, Before-Any Event, Before Open Event, Before-Open Event, Client-Size Event (may be suppressed), Close Event, Command-Status Event (may be suppressed), Drag-Drop Event (may be suppressed), Drag-Enter Event (may be suppressed), Drag-Leave Event (may be suppressed), Drag-Over Event (may be suppressed), Enter Event (may be suppressed), Error Event, Idle Event (may be suppressed), Leave Event (may be suppressed), Size Event (may be suppressed).