Try OpenEdge Now
skip to main content
ABL Reference
Handle Attributes and Methods Reference : VISIBLE attribute
 

VISIBLE attribute

Indicates whether a widget is currently visible on the display.
Data type: LOGICAL
Access: Readable/Writeable
Applies to: BROWSE widget (browse and column), BUTTON widget, COMBO-BOX widget, CONTROL-FRAME widget, DEBUGGER system handle, DIALOG-BOX widget, EDITOR widget, FIELD-GROUP widget, FILL-IN widget, FRAME widget, IMAGE widget, LITERAL widget, MENU widget, MENU-ITEM widget, RADIO-SET widget, RECTANGLE widget, SELECTION-LIST widget, SLIDER widget, SUB-MENU widget, TEXT widget, TOGGLE-BOX widget, WINDOW widget
This attribute is read-only for field groups, menus, menu items, and submenus. A field-level widget must be specified in a frame definition before you set its VISIBLE attribute.
The behavior of the VISIBLE attribute depends on the setting of the HIDDEN attribute of related widgets:
*When you set the VISIBLE attribute of a window to TRUE:
*The AVM displays that window and the widgets it contains whose VISIBLE attributes are already set to TRUE. Otherwise, you must explicitly DISPLAY or VIEW a widget, or otherwise set a widget's VISIBLE attribute to TRUE in order to display it in the window.
*The AVM displays that window and all ancestor windows only if no ancestor window has its HIDDEN attribute set to TRUE. If the AVM displays the window, it also displays all descendant windows down to, but not including, the first descendant window whose HIDDEN attribute is set to TRUE.
*When you set the VISIBLE attribute of any widget within a window to TRUE, the AVM displays that widget, any ancestor frames, and the window (if necessary), unless the HIDDEN attribute of the window is TRUE. If the window's HIDDEN attribute is TRUE, the AVM sets the VISIBLE attributes of the widget and any ancestor frames to TRUE and sets the HIDDEN attributes of the widget and its ancestor frames to FALSE without displaying them.
*When you set the VISIBLE attribute of a frame to TRUE, the AVM displays all of its field-level widgets and descendant frames, except those whose HIDDEN attributes are TRUE.
*When you explicitly set the VISIBLE attribute of any widget to TRUE, the AVM sets its HIDDEN attribute to FALSE. If you explicitly set the VISIBLE attribute of a field-level widget or child frame to FALSE while its parent frame remains visible, the AVM also sets the HIDDEN attribute of the field-level widget or child frame to TRUE. If you explicitly set the VISIBLE attribute of a child window to FALSE, the HIDDEN attribute of the child window remains unchanged, whether or not the parent window is visible.
*The following behavior is true for the browse column:
*The syntax of the VISIBLE attribute for the browse column is as follows:
VISIBLE [ IN BROWSE browse-name]
*The behavior of the VISIBLE attribute for a browse column does not depend on the setting of the HIDDEN attribute of the related widget.
*Changing the VISIBLE attribute of a browse column may affect which columns are locked if NUM-LOCKED-COLUMNS has been set. This is because NUM-LOCKED-COLUMNS only applies to visible columns. For example, if the first three columns of a browse are locked and the second column is made not VISIBLE, the fourth column will then become locked.
*If a widget is not already realized and you set its VISIBLE attribute to TRUE, the AVM realizes that widget.
*In character mode, the VISIBLE attribute is always set to TRUE.