Workbench User Guide : Creating and Using Basic Fields : Common Field Properties : Tab Sequencing
 
Share this page          
Tab Sequencing
There are two kinds of tab sequencing: default tab sequencing and custom tab sequencing.
Default Tab Sequencing
The TabNumSeq property applies to active fields within a composite field. This property directs the order in which fields within a composite field receive input focus from the keyboard as the Tab key is pressed. By default, tab sequencing for a composite field is from left to right and top to bottom.
Custom Tab Sequencing
A custom tab sequence number can be assigned to an individual field on a frame's form either through the Frame Editor's Property Inspector or at runtime through a 4GL programming interface. For more information about using 4GL code, see the Programming Guide.
Although TabSeqNum is an attribute of the ActiveField system class, a tab sequence can logically be thought of as a property of CompositeField class, as an array of references to active fields. The order of the fields in the array determines their sequence as tab stops. The elements in this logical tab sequence array can be references to scalar fields or to other composite fields. Each of these composite fields may have its own tab sequence array as well.
The topmost-level object representing a frame's form is a FrameForm, which is a subclass of CompositeField. When a frame is activated, the field that initially takes the input focus is the first item in the tab sequence array of the FrameForm of the current frame.
At any given time, there is a current tab sequence array. If the end user tabs, the next field in the tab sequence gets the input focus. If that item is a composite field, then the first item in its tab sequence array gets the input focus. At the end of a tab sequence of a composite field, focus moves to the next item in the tab sequence of the parent field. In the case of the frame's form itself, which has no parent field, tabbing moves the focus from the last field in the form's tab sequence to the first field in the tab sequence.
Note:  For more information about the ActiveField and CompositeField classes, see the Language Reference Guide.
The following table summarizes the target of the tab action based on the type of the current field and keys pressed:
Keys Pressed
Current Field Is a Simple Field
Current Field Is a Composite Field
Tab
Next field
Next field within the composite field
Shift+Tab
Previous field
Previous field within the composite field
Ctrl+Tab
Next field
The field after the composite field
Shift+Ctrl+Tab
Previous field
The field before the composite field
Modify the Tab Sequence
You can reset the tab sequence for a field using the Property Inspector.
To reset the tab sequence for a field
1. Open your frame in the Frame Editor (see Open an Existing Frame).
2. Select the field.
3. Click the TabSeqNum property in the Property Inspector.
Its value cell opens.
4. Replace the existing value (for example, replace 0 with 1).
Note:  If the new value is already being used, the new tab sequence number is incremented.
5. (Optional) Repeat Steps 3 and 4 (entering different new values) for the other fields on the form.