activate menu 命令
顯示並激活一個選單欄。
語法
ACTIVATE MENU MenuBarName
[NOWAIT]
[PAD MenuTitleName]
參數
MenuBarName
指定要激活的選單欄的名稱。
NOWAIT
指定在程式執行時,不等待用戶在已激活選單欄中選擇選單或按 ESC 鍵,而是繼續執行程式。發出 deactivate menu 命令後,如果選單是用 NOWAIT 選項激活的,則程式的執行不返回到 ACTIVATEMENU
命令的下一行命令。
PAD MenuTitleName
指定一個選單標題名,當激活選單欄時,選中此選單標題名。如果不指定選單標題名,選單欄激活後,默認激活第一個選單標題名。
說明
該命令顯示並且激活 MenuBarName 指定的選單欄,需要結合 DEFINE MENU 和 DEFINE PAD 命令使用。
提示
當應用程式中包含 Visual FoxPro 系統選單欄 (_MSYSMENU) 時,不需激活此選單,而是執行 SET SYSMENU AUTOMATIC 命令。
activate menu 命令示例
下面的示例用 activate menu 命令顯示並激活一個用戶定義的選單系統。當前系統選單欄先用 set sysmenu save 命令保存在記憶體中,然後用 set sysmenu to 命令刪除所有系統選單標題。
用 define pad 命令創建兩個選單標題,並且用 define popup 為每個選單標題創建下拉式選單,然後用 define bar 命令在每個選單上創建選單項。當選中某個選單標題後,on pad 命令使用 activate popup 子句激活相應選單。activate menu 命令顯示並激活這個選中的選單欄。
選擇選單中的某選單項後,開始執行 choice 過程,choice 過程顯示了選擇的選單項名和包含此項的選單名。
*** 此程式名為 actimenu.prg***
clear
set sysmenu save
set sysmenu to
on key label esc keyboard chr(13)
define menu example bar at line 1
define pad convpad of example prompt '\<conversions' color scheme 3 ;
key alt+c, ''
define pad cardpad of example prompt 'card \<info' color scheme 3 ;
key alt+i, ''
on pad convpad of example activate popup conversion
on pad cardpad of example activate popup cardinfo
define popup conversion margin relative color scheme 4
define bar 1 of conversion prompt 'ar\<ea' ;
key ctrl+e, '^e'
define bar 2 of conversion prompt '\<length' ;
key ctrl+l, '^l'
define bar 3 of conversion prompt 'ma\<ss' ;
key ctrl+s, '^s'
define bar 4 of conversion prompt 'spee\<d' ;
key ctrl+d, '^d'
define bar 5 of conversion prompt '\<temperature' ;
key ctrl+t, '^t'
define bar 6 of conversion prompt 't\<ime' ;
key ctrl+i, '^i'
define bar 7 of conversion prompt 'volu\<me' ;
key ctrl+m, '^m'
on selection popup conversion do choice in actimenu;
with prompt( ), popup( )
define popup cardinfo margin relative color scheme 4
define bar 1 of cardinfo prompt '\<view charges' ;
key alt+v, ''
define bar 2 of cardinfo prompt 'view \<payments' ;
key alt+p, ''
define bar 3 of cardinfo prompt 'vie\<w users' ;
key alt+w, ''
define bar 4 of cardinfo prompt '\-'
define bar 5 of cardinfo prompt '\<charges ' ;
key alt+c, ''
on selection popup cardinfo;
do choice in actimenu with prompt( ), popup( )
activate menu example
deactivate menu example
release menu example extended
set sysmenu to default
on key label esc
procedure choice
parameters mprompt, mpopup
wait window 'you chose ' + mprompt + ' from popup ' + mpopup nowait