Progress
Language Reference
HIDE Statement
Makes a widget invisible (sets its VISIBLE attribute to FALSE), or clears the message area for a window, or hides all widgets and clears messages in a window.
SYNTAX
STREAM stream
Specifies the name of a stream. If you do not name a stream, Progress uses the unnamed stream.
widget-phrase
The widget you want to hide. You can hide windows, frames, and field-level widgets. You cannot hide menus. If you do not use this option or the MESSAGE or ALL options, HIDE hides the default frame for the block that contains the HIDE statement.
MESSAGE
Hides all messages displayed in the message area for the specified window. If you use the PUT SCREEN statement to display data in the message area, the HIDE MESSAGE statement does not necessarily hide that data.
ALL
Hides all widgets in the window and clears the message area for the window.
NO-PAUSE
Does not pause before hiding. Ordinarily, if data has been displayed, but there have been no data entry operations or pauses, Progress prompts you to press SPACEBAR to continue before hiding the widget.
IN WINDOW window
Specifies which window the HIDE statement acts on. The value window must evaluate to the handle of a window. If you do not use the IN WINDOW option, the current window is assumed.
EXAMPLEThe following example uses the HIDE statement to hide selected frames. The DISPLAY statements redisplays the frames when the loop iterates.
NOTES
- When a block iterates, any display frame that is scoped to the block or to a nested block is tagged for hiding (unless you have used the NO-HIDE option in the Frame phrase), but is not hidden. Then, the first frame activity of the next iteration (a DISPLAY, INSERT, PROMPT-FOR, SET, VIEW, or UPDATE statement) for a frame scoped to the block or to a nested block causes all tagged frames to be hidden.
The frame associated with that first frame activity is not hidden because it would be redisplayed immediately. This improves display time. When a block ends, Progress removes the hide tags from all the frames scoped to that block or to nested blocks.
- Frames displayed by procedures within a block or within a nested block are treated the same as other frames in a nested block.
- When Progress displays a frame and there is not enough room in the window, it automatically hides one or more frames. Frames are hidden one at a time, starting with the lowest frame in the window, until there is room to fit the new frame.
- It is more efficient to HIDE ALL than to HIDE each frame individually.
- If you hide a PAGE-TOP or PAGE-BOTTOM frame, it is removed from the list of active frames for printing at the top or bottom of each page.
- If you are working in a PAGE-TOP or PAGE-BOTTOM frame, use the VIEW or DISPLAY statement to activate that frame. The VIEW statement does not display a PAGE-TOP or PAGE-BOTTOM frame. It activates the frame so that when a new page begins or ends, Progress displays the frame. If you use the HIDE statement to hide a PAGE-TOP or PAGE-BOTTOM frame, Progress deactivates that frame so that it can no longer be displayed unless it is reactivated with a VIEW or DISPLAY statement.
- If output is not directed to the terminal, HIDE has no effect on the terminal display.
- In batch mode, the HIDE statement produces an error. If you want to remove the contents of a frame, use the CLEAR statement instead.
- You can use HIDE MESSAGE to hide a message.
- If you invoke the HIDE statement for a field-level widget or child frame, the HIDDEN attribute of the specified field-level widget or child frame is also set to TRUE. However, if you invoke the HIDE statement for a child window, the HIDDEN attribute of the child window is unaffected.
- When you HIDE a visible window, any visible descendant windows are hidden also (including iconified descendants), but any visible ancestor windows remain unaffected. However, if you HIDE a window whose HIDDEN attribute is currently set to TRUE, its descendant windows remain unaffected.
SEE ALSO
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |