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