The attribute of visibility determines whether the object will be displayed on the screen. If you define an object as visible, it is displayed (if allowed by its position and priority). If you define an object as invisible, it is not displayed.
There are some circumstances under which you will not be able to see an object on the screen, even if it is defined as visible:
•A visible object is not displayed if its position and contents are outside the boundaries of the screen.
•A visible object is not displayed if its parent is invisible. Whenever an object is invisible, or becomes invisible in a response definition, none of its children are displayed even if they have the attribute of visibility. (See Ancestry for information on an object's parent.) Defining an object as visible does not automatically make its children visible. Only the visible children are displayed.
•If a visible object is the child of a region, the object is not displayed if its position and contents are outside the boundaries of the window size specified for the region.
•A visible object might lie partially within the screen, or partially within its graphical region's window. In that case, the part of the object that lies within the screen is drawn and the other part is not drawn.
•A visible object is not displayed if the primary region is made invisible.
You can change the visibility of objects during runtime using the make visible and make invisible action statements to control the user's options and eliminate the possibility of user mistakes. For example, an object that is currently distracting or useless can be made invisible until a stimulus occurs that makes the object useful again. When that happens, the object can be made visible as part of the response to that stimulus.