下面的示例使用 define pad 在 visual foxpro 系统菜单栏中放置菜单标题。首先用 set sysmenu save
将当前系统菜单栏存入内存,然后用 set sysmenu to 将所有的系统菜单标题删除。系统菜单标题是用 define pad 创建的,当选择一个菜单标题时,执行 choice 过程。choice 显示被选择的菜单标题名和菜单栏名,并切换菜单标题的标记字符的打开和关闭。如果选择退出菜单标题,恢复最初的 visual foxpro
系统菜单。
*** 该程序名为 definpad.prg ***
clear
set talk off
set sysmenu save
set sysmenu to
public markpad
markpad = .t.
define pad syspad of _msysmenu prompt '\<system' color scheme 3 ;
key alt+s, ''
define pad editpad of _msysmenu prompt '\<edit' color scheme 3 ;
key alt+e, ''
define pad recordpad of _msysmenu prompt '\<record' color scheme 3 ;
key alt+r, ''
define pad windowpad of _msysmenu prompt '\<window' color scheme 3 ;
key alt+w, ''
define pad reportpad of _msysmenu prompt 're\<ports' color scheme 3 ;
key alt+p, ''
define pad exitpad of _msysmenu prompt 'e\<xit' color scheme 3 ;
key alt+x, ''
on selection menu _msysmenu ;
do choice in definpad with pad( ), menu( )
procedure choice
parameter mpad, mmenu
wait window 'you chose ' + mpad + ;
' from menu ' + mmenu nowait
set mark of pad (mpad) of _msysmenu to ;
! mrkpad('_msysmenu', mpad)
markpad = ! markpad
if mpad = 'exitpad'
set sysmenu to default
endif