_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