VMS Help  —  RTL Routines, SMG$  SMG$CREATE_MENU
    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]

1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

2  –  Arguments

 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
Close Help