VMS Help
RTL Routines, SMG$, SMG$CREATE_MENU
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
The Fill the Virtual Display with a Menu routine displays
menu choices in the virtual display indicated, starting at the
specified row.
Format
SMG$CREATE_MENU display-id ,choices [,menu-type]
[,flags] [,row] [,rendition-set]
[,rendition-complement]
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
display-id
OpenVMS usage:identifier
type: longword (unsigned)
access: read only
mechanism: by reference
Display identifier of the virtual display in which the menu is
created. The display-id argument is the address of an unsigned
longword containing this identifier.
choices
OpenVMS usage:static array of char_string
type: character string
access: read only
mechanism: by descriptor
Static array in which each element corresponds to an item to be
displayed in the menu. The choices argument is the address of a
descriptor pointing to this static array of character strings.
Note that blank menu items are ignored.
menu-type
OpenVMS usage:longword_unsigned
type: longword (unsigned)
access: read only
mechanism: by reference
Optional bit mask specifying the type of menu to be displayed.
The menu-type argument is the address of a longword bit mask that
specifies this menu type. Valid values are as follows:
SMG$K_BLOCK The menu items are displayed in matrix format
(default).
SMG$K_VERTICAL Each menu item is displayed on its own line.
SMG$K_HORIZONTAL The menu items are displayed all on one line.
flags
OpenVMS usage:mask_longword
type: longword (unsigned)
access: read only
mechanism: by reference
Optional bit mask specifying the attributes to be used for the
menu. The flags argument is the address of an unsigned longword
that contains the flag. Valid values are as follows:
SMG$M_DOUBLE_ Double-spaced rows of menu items. The default
SPACE is single spaced.
SMG$M_FIXED_ Each menu item is in a fixed-length field. The
FORMAT field is the size of the largest menu item.
The default is compress.
SMG$M_FULL_FIELD The full field is highlighted when you move
within the menu using item keys. The default
is that menu items only are highlighted. If
you specify this flag value, it also implies
SMG$M_FIXED_FORMAT.
SMG$M_WIDE_MENU Wide characters are used in the menu items.
The default is normal sized characters.
SMG$M_WRAP_MENU The up arrow and down arrow keys cause the
menu to wrap when the cursor is on the first
or last rows of the menu.
row
OpenVMS usage:longword_signed
type: longword (signed)
access: read only
mechanism: by reference
Optional row number in the specified virtual display at which
the first menu item is displayed. The row argument is the address
of a signed longword that contains this row number. If row is
omitted, the first row of the virtual display's scrolling region
is used.
rendition-set
OpenVMS usage:mask_longword
type: longword (unsigned)
access: read only
mechanism: by reference
Attribute specifier. The optional rendition-set argument is the
address of a longword bit mask in which each attribute set causes
the corresponding attribute to be used when writing out the menu
choices. The following attributes can be specified using the
rendition-set argument:
SMG$M_BLINK Displays blinking characters.
SMG$M_BOLD Displays characters in higher-than-normal
intensity.
SMG$M_REVERSE Displays characters in reverse video; that is,
using the opposite of the default rendition of
the virtual display.
SMG$M_ Displays underlined characters.
UNDERLINE
SMG$M_USER1 Displays user-defined attributes.
through
SMG$M_USER8
The display-id argument must be specified when you use the
rendition-set argument.
rendition-complement
OpenVMS usage:mask_longword
type: longword (unsigned)
access: read only
mechanism: by reference
Attribute complement specifier. The optional rendition-
complement argument is the address of a longword bit mask in
which each attribute set causes the corresponding attribute to
be complemented in the display. All of the attributes that can
be specified with the rendition-set argument can be complemented
with the rendition-complement argument. The display-id argument
must be specified when you use the rendition-complement argument.
The optional arguments rendition-set and rendition-complement
let the user control the attributes of the virtual display. The
rendition-set argument sets certain virtual display attributes,
while rendition-complement complements these attributes. If the
same bit is specified in both the rendition-set and rendition-
complement parameters, rendition-set is evaluated first, followed
by rendition-complement. By using these two parameters together,
the user can control each virtual display attribute in a single
procedure call. On a single-attribute basis, the user can cause
the following transformations:
Set Complement Action
0 0 Attribute set to default
1 0 Attribute on
0 1 Attribute set to complement of default setting
1 1 Attribute off
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.