6. Creating and Using Basic Fields : Common Field Properties : Tab Sequencing : Custom Tab Sequencing
 
Share this page                  
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