VMS Help  —  RTL Routines, SMG$  SMG$SELECT_FROM_MENU
    The Make a Selection from the Menu routine lets you move between
    the menu choices using the arrow keys and lets you make a
    selection by pressing the Return key.

    Format

      SMG$SELECT_FROM_MENU  keyboard-id ,display-id

                            ,selected-choice-number

                            [,default-choice-number] [,flags]

                            [,help-library] [,timeout]

                            [,word-terminator-code]

                            [,selected-choice-string]

                            [,rendition-set] [,rendition-complement]

1  –  Returns

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

2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual keyboard from which the terminal user's
    responses are read. The keyboard-id argument is the address of an
    unsigned longword containing this identifier.

 display-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Identifier of the virtual display in which the choices are
    displayed. The display-id argument is the address of an unsigned
    longword containing this display identifier. This virtual display
    must be pasted to a pasteboard and cannot be batched or occluded.

 selected-choice-number

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Identification number of the menu item selected. The selected-
    choice-number argument is the address of an unsigned word that
    receives this number. The selected-choice-number corresponds to
    the index of the menu item in the static string array specified
    in SMG$CREATE_MENU.

 default-choice-number

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       read only
    mechanism:    by reference

    Optional identification number of the default menu item. The
    default-choice-number argument is the address of an unsigned word
    that contains the number of the default menu item. The default-
    choice-number corresponds to the index of the default menu item
    in the static string array specified in SMG$CREATE_MENU. If
    omitted, the default choice will be the last menu item already
    selected, or the first item in the menu if no selections have yet
    been made.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Optional bit mask indicating behavior when a selection is
    made. The flags argument is the address of an unsigned longword
    containing the flag. Valid values are as follows:

    SMG$M_RETURN_     Returns control to the user when any key other
    IMMED             than an arrow key is entered.
    SMG$M_REMOVE_     Causes SMG$SELECT_FROM_MENU to allow each menu
    ITEM              item to be selected only once.

 help-library

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Optional help library to use if the PF2/Help key is pressed.
    The help-library argument is the address of a descriptor
    pointing to this help library name. Note that this argument is
    ignored if flags specifies SMG$M_RETURN_IMMED. The default is
    SYS$HELP:HELPLIB.HLB.

 timeout

    OpenVMS usage:longword_signed
    type:         longword (signed)
    access:       read only
    mechanism:    by reference

    Optional timeout value. The timeout argument is the address of a
    signed longword that specifies the number of seconds to wait for
    a selection to be made.

 word-terminator-code

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference

    Optional unsigned word that receives the code indicating which
    key terminated the read. The word-terminator-code argument is the
    address of an unsigned word that receives this terminating key
    code.

 selected-choice-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Optional string that receives the text of the menu item selected.
    The selected-choice-string is the address of a descriptor
    pointing to this string.

 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 set in the display. 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 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