Progress
Programming
Handbook


Tab Order for a Frame

The tab order of widgets in a frame is affected by four factors:

  1. The order in which you place widgets within the frame definition.
  2. When Progress compiles a procedure, it lays out all the field-level widgets in static frames used by the procedure, and assigns the default tab order in the order the widgets appear in the frame definition. For a dynamic frame, Progress makes the default tab order the order in which you assign the widgets to the frame. When parenting a child frame or dynamic field-level widget to a static or dynamic frame, the parented widget assumes the last position in the current tab order of the frame, by default.

  3. The statements you use to enable the widgets for input in a static frame.
  4. The PROMPT–FOR, SET, and UPDATE statements explicitly enable widgets and change their tab order. The ENABLE statement also establishes tab order if you explicitly enable widgets by name. However, if you ENABLE ALL widgets for a frame, the tab order is not affected.

  5. Whether a static frame is defined with, or its definition is modified by, the KEEP–TAB–ORDER option.
  6. This option tells Progress that all statements that enable widgets for input, including the ENABLE, PROMPT–FOR, SET, and UPDATE statements will have no effect on the frame’s tab order.

  7. Whether you use methods or attributes to change the tab order.
  8. The MOVE–AFTER–TAB–ITEM( ) and MOVE–BEFORE–TAB–ITEM( ) methods allow you to change the tab order of field-level widgets and child frames, overriding the above considerations. At the field–group level, you can also change the tab order of field-level widgets and child frames using the FIRST–TAB–ITEM and LAST–TAB–ITEM attributes.

You can return the current tab order (relative to 1) of any field-level widget or child frame by reading its TAB–POSITION attribute. The NUM–TABS attribute for the field group returns the number of field-level widgets and child frames that have tab positions, and the GET–TAB–ITEM( ) method for the field group returns the widget handle of the widget with the specified tab position. You can also obtain the widget handle of the previous or next widget in the tab order by reading its PREV–TAB–ITEM or NEXT–TAB–ITEM attribute, respectively.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095