on selection menu 命令示例

在下面的示例中,使用 on selection menu 命令指定从 visual foxpro 系统菜单栏上选定菜单标题时执行某个过程。使用 set sysmenu save 命令将当前系统菜单栏保存在内存中, 并用 set sysmenu to 命令删除所有的系统菜单标题。define pad 命令创建若干系统菜单标题。当选择某个菜单标题时,执行由 on selection menu 命令为菜单栏指定的 choice 过程。此过程显示您选定的菜单标题的名字以及菜单栏的名字。如果选定了“退出”菜单标题, 则还原初始的 visual foxpro 系统菜单。

*** 此程序名为 onmenu.prg ***
clear
set sysmenu save
set sysmenu to
define pad padsys of _msysmenu prompt '\<system' color scheme 3 ;
key alt+s, ''
define pad padedit of _msysmenu prompt '\<edit' color scheme 3 ;
key alt+e, ''
define pad padrecord of _msysmenu prompt '\<record' color scheme 3 ;
key alt+r, ''
define pad padwindow of _msysmenu prompt '\<window' color scheme 3 ;
key alt+w, ''
define pad padreport of _msysmenu prompt 're\<ports' color scheme 3 ;
key alt+p, ''
define pad padexit of _msysmenu prompt 'e\<xit' color scheme 3 ;
key alt+x, ''
on selection menu _msysmenu ;
do choice in onmenu with pad( ), menu( )
procedure choice
parameter gcpad, gcmenu
wait window 'you chose ' + gcpad + ;
' from menu ' + gcmenu nowait
if gcpad = 'padexit'
set sysmenu to default
endif