Design Specifications and Guidelines - Window Management
In many cases, the interface of an object or application can be established using a single primary window. A single-document (or single-application) window design is sufficient when the object's primary presentation or use is as a single unit, such as a folder or document, even when the object contains different types.
In a single-document window design, the primary window provides the primary view or work area. You can use secondary windows for supplemental or specialized forms of input and to view information about objects in the primary window.
The desktop and taskbar provide the user with ways to manage the primary windows. When the user opens a window, the system puts it at the top of the Z order and places an entry on the taskbar, making it easy for the user to access the contents of the window.
You can support alternative views in the primary window by including commands and controls that enable the user to change the view. The standard folder window offers a good example of multiple viewing options. You can also provide support for simple simultaneous views of the same data by splitting a window into panes, as in Windows Explorer.
If your application includes several viewing options, create a View menu for your window that contains the viewing ommands. Allow the user to navigate between panes by clicking their contents or pressing CTRL+TAB, or by pressing SHIFT+CTRL+TAB to move in reverse order. If the TAB and SHIFT+TAB keys are not already used by the pane's contents, you can also use those keys to support user navigation between panes.
In addition, Microsoft COM supports the creation of compound documents or other types of information containers. Using these constructs, the user can embed or link objects of different types within a single primary window, eliminating the need to display or edit information in separate windows.
More Information
For more information about designing the interface for embedded and linked objects, see Chapter 12, "Working with OLE Embedded and Linked Objects."
You can also make primary windows more manageable by supporting a single-instance model that activates an existing window (within the same desktop) if the user reopens the object. This approach establishes a data-centered, one-to-one relationship between an object and its window.
Fundamentals of Designing User Interaction
Design Specifications and Guidelines