Progress
Programming
Handbook
Using Frame Families
Child frames help to organize the display area of the parent frame. They can contain their own field-level widgets, and like any frame parented to a window, they can be referenced in frame I/O statements. Child frames can be viewed and hidden like field-level widgets and also participate in the tab order of the parent frame.
You can choose a default button or Cancel button from a child frame. If a child frame does not have the chosen button, invoking that button in the child frame will cause the first default or Cancel button found in the frame family (and in no special order) to be chosen.
You can also parent child frames to a dialog box, which can serve as a root frame for a frame family. However, child frames cannot be viewed as dialog boxes, themselves. For more information on dialog boxes, see Interface Design."
Child frames have some additional restrictions:
- You cannot use them as down frames; they can only be 1 down.
- They must fit at least partially within the virtual display area of their parent frame.
- They do not inherit the attributes of their parent frame.
- If you set SESSION:DATA–ENTRY–RETURN to TRUE, the last fill-in of a child frame can trigger a GO event for the frame if it is the last fill-in field in the frame family tab order. For more information, see the section on fill–in fields in Representing Data."
- You must display, enable, and disable the field-level widgets of child frames explicitly. Doing so for a parent frame has no effect on the fields displayed in its child frames.
The following procedure (
p-fof2.p
) uses a frame family to organize a window for updating customer records. It displays the Update window shown previously in Figure 19–6 and Figure 19–7.
Note how each frame is managed individually for input and output. Displaying frame cust–fr displays its child frames, but not their field values. Likewise, enabling the fields of cust–fr for input has no effect on the fields in cont–fr, acct–fr, or ctrl–fr. Each of these child frames must have their field-level widgets enabled and disabled individually.
When enabled, you can tab among all the field-level widgets in the cust–fr frame family. For more information on frame family layout and tabbing behavior, see the remaining sections of this chapter and Interface Design."
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |