_msdrv.utl Utility - Menu System Driver Program

Syntax

call "_msdrv.utl",menu_file$,menu_key${,item,current_value,
control_value,menu_record,initialize_window,override,
column,row,columns,menu_style,item_description$,
option_flag{,items_displayed}}
call "_msdrv.utl",$$,$$,item,current_value,control_value,
menu_record,initialize_window,override,column,row,columns,
menu_style,item_description,option_flag{,items_displayed}

Description

The _msdrv.utl utility is the menu driver program. The two syntaxes work in different ways:

  • The first syntax model processes a menu entry stored in a menu file.

  • The second syntax model processes a menu entry created dynamically by the _msmktpl.utl or _mkdlog.utl programs.

Using the second method and _msmktpl.utl requires the calling application program to construct a secondary template for one of the fields contained within the main template returned by _msmktpl.utl. This secondary template is discussed in Detail Template in _msmktp.utl.

Parameter

Description

menu_file$

Name of the menu file. If no extension (.xxx) is specified, _msedit.utl looks for the file menuname.m(LANGUAGE).

menuitem$

Key within the menu file to create or edit.

item

Selected item (returned).

current_value

Initial (default value).

control_value

I/O Subsystem CTLVAL based on the keystroke entered (returned to the calling program).

menu$

Immediate-mode menu template (created by _msmktpl.utl) or full template created by _mkdlog.utl.

initialize_window

Menu display, as follows:

 

0 Do not display the menu.

 

1 Display the menu.

override

If this value is 0, ignore the next four fields.

column

Display at this column; ignored unless OVERRIDE=1.

row

Display starting on this row; ignored unless OVERRIDE=1.

columns

Override column width; ignored unless OVERRIDE=1.

menu_style

Menu style of cascading/sliding menu; ignored unless OVERRIDE=1.

item_description$

Returns the description of the selected item.

option_flag$

Additional values that are acceptable as selections.

items_displayed

Reserved for internal use only.

Example

LET BBEXT$=STBL("BBEXT")
LET menufile$="mainmenu.m"+STBL("LANGUAGE")
LET menuitem$="main"
CALL BBEXT$+"_msdrv.utl",MENUFILE$,MENUITEM$,
item,retval,ctlval,$$,1

See Also

Alphabetical EUS Utilities

Functional Listing of EUS Utilities

_mkdlog.utl

_msedit.utl

_msmktpl.utl