authorware本身沒有為我們提供直接制作彈出式菜單的途徑,不過authorware 5 attain附帶的用戶自定義函數文件tmscontrols.u32,卻可以幫助我們制作彈出式菜單。本文為你介紹具體的實現方法。如果目前你手頭上還沒有tmscontrols.u32,可以馬上下載一個。以下給出制作彈出式菜單的詳細步驟:
1.從tmscontrols.u32中載入本實例必需的函數:tmsadditem、tmscreatepopuplist、tmsdestroycontrol、tmsdisplaycontrol。
2.拖一個計算圖標到流程線上,命名為“創建彈出式菜單”;在其中輸入如下腳本(----后邊是有關程序 腳本的說明):
---- 下列代碼創建彈出式菜單的句柄: popuphandle:=tmscreatepopuplist(windowhandle)
---- 下列代碼創建彈出式菜單的菜單選項列表: tmsadditem(popuphandle, 1, 0, "選項 1") tmsadditem(popuphandle, 2, 0, "選項 2") tmsadditem(popuphandle, 3, 0, "-")
---- 在選項 2和選項 3 之間創建一條分隔線 tmsadditem(popuphandle, 4, 0, "選項 3") tmsadditem(popuphandle, 5, 0, "選項 4") tmsadditem(popuphandle, 6, 0, "選項 5")
---- 下列代碼為"選項 2"菜單項創建兩個分隔開的子菜單選項,如不需要子菜單,可以省略: tmsadditem(popuphandle, 2, 1, "子選項 1") tmsadditem(popuphandle, 2, 2, "-") tmsadditem(popuphandle, 2, 3, "子選項 2")
3.在計算圖標“創建彈出式菜單”之后,建立一個條件交互,命名為“右鍵響應彈出式菜單”,condition項設為:rightmousedown=true,automatic項設為:on false to true。用一個計算圖標響應rightmousedown事件,在其中輸入:
---- 下列代碼在右鍵敲擊處,彈出一個前邊設定好的彈出式菜單,并將用戶反饋(即用戶所選擇的菜單項)返回給變量result: result := tmsdisplaycontrol(popuphandle, cursorx, cursory, 100, 150, 1)
---- 當不需要再使用該彈出式菜單時,可用下列代碼將它刪掉。
tmsdestroycontrol(popuphandle)
4.打包發行你的authorware作品時,把tmscontrols.u32放到主程序所在目錄。
你只需對本實例稍加修改,就可以用到你自己的程序中去了。