The panel's window is created disabled; that is, it is not visible.
| PPB-Fill-Attribute | pic x. |
| PPB-Fill-Character | pic x. |
| PPB-First-Visible-Col | pic 9(4) comp-x. |
| PPB-First-Visible-Row | pic 9(4) comp-x. |
| PPB-Panel-Height | pic 9(4) comp-x. |
| PPB-Panel-ID | pic 9(4) comp |
| PPB-Panel-Start-Column | pic 9(4) comp-x. |
| PPB-Panel-Start-Row | pic 9(4) comp-x. |
| PPB-Panel-Width | pic 9(4) comp-x. |
| PPB-Update-Mask | pic x. |
| PPB-Visible-Height | pic 9(4) comp-x. |
| PPB-Visible-Width | pic 9(4) comp-x. |
| PPB-Fill-Attribute | The attribute to be used for the shadow. |
| PPB-Fill-Character | The character to be used as the shadow. |
| PPB-First-Visible-Col | Positions the window horizontally within the panel. A value of 0 indicates that the left-hand edge of the window is positioned on the left-hand edge of the panel. |
| PPB-First-Visible-Row | Positions the window vertically within the panel. A value of 0 indicates that the top of the window is positioned on the top edge of the panel. |
| PPB-Panel-Height | The number of rows of text in the panel to be created. |
| PPB-Panel-Start-Column | Positions the panel horizontally on the screen. A value of 0 indicates that the left-hand edge of the panel is positioned on the left-hand edge of the screen. |
| PPB-Panel-Start-Row | Positions the panel vertically on the screen. A value of 0 indicates that the top of the panel is positioned on the top edge of the screen. |
| PPB-Panel-Width | The number of columns of text in the panel to be created. |
| PPB-Update-Mask | The width of the shadow to be used. Zero indicates a width of one character, otherwise the shadow is two characters wide. |
| PPB-Visible-Height | The number of rows of text in the visible window. |
| PPB-Visible-Width | The number of columns of text in the visible window. |
| PPB-Panel-ID | The identifying handle of the created panel. You should copy this value into a data item in the Working-Storage Section of your program and specify it when using any functions that act on this panel. |
This example creates a panel that is 25 characters wide by 8 lines high. This panel starts on line 1, column 1 of the screen. The window into this panel starts on the first line and first column of the panel. This window is 25 characters wide by 6 rows deep.
The shadowing on the panel is one character wide, and is seen as a gray band.
* Panel size is 20 characters wide by 15 lines
move 25 to ppb-panel-width.
move 8 to ppb-panel-height.
* The window starts on screen line 1, col 1. Remember that
* PPB-Panel-Start-Column and PPB-Panel-Start-Row specify a
* screen position, where 0,0 is the top left corner of the
* screen.
move 0 to ppb-panel-start-row.
move 0 to ppb-panel-start-column.
* The window into the panel is 20 char wide by 10 lines.
move 25 to ppb-visible-width.
move 6 to ppb-visible-height.
* The window starts on the first line and column of the panel
* Remember that 0,0 is the top left corner of the panel.
move 0 to ppb-first-visible-row.
move 0 to ppb-first-visible-col.
* Specify the shadowing for the panel
move 0 to ppb-update-mask
move space to ppb-fill-character
move gray to ppb-fill-attribute
* Create the panel. It is initially disabled (invisible).
move pf-create-panel to ppb-function.
call "PANELS" using panels-parameter-block.
if ppb-status not = zero
* (code to abort)
...
* Save the panel identifier.
move ppb-panel-id to ws-save-panel-id.
Comments:
Panels allocates an area of memory for the new panel based on its size. The number of bytes of memory used by a shadowed panel is determined as follows:
4 * PPB-Panel-Height * PPB-Panel-Width
The size of the new panel can be larger than the screen, but you must observe the following:
Failure to observe either of these limits results in Panels error code 6 being returned.
Once you create a panel with a shadow, you can change any of its variables except its width, height, and shadow details. You do this using PF-Shift-Panel. The newly created panel is filled with the current backdrop character and attribute. The shadowing effect on a shadowed panel is not transparent.