在authorware中利用選單交互很容易制作一個標準的windows風格的選單,而用authorware來制作子選單卻是一件相當麻煩的事;但是如果使用control u32 for authorware這個ucd,.上面這個問題將比較容易解決。這個ucd的文件名為tmscontrols.u32(tmscontrols.u32是mediashoppe提供的一個免費的函數庫,其功能非常強大),它可以允許用戶使用如下一些通用windows控制:
●下拉列表
●彈出式快捷選單
●選擇文件對話框
●字體下拉列表
●帶預覽功能的圖形文件打開對話框
●帶預覽功能的圖形文件保存對話框
下面利用tmscontrols.u32來制作子選單,主要是利用tmscontrols.u32中的tmscreatepopuplist、tmsdisplaycontrol、tmsadditem這三個函數實現子選單的功能。其實現過程如下。
●取得windows句柄:popuphandle:=tmscreatepopuplist(windowhandle)。
●設置選單內容:result:=tmsadditem(controlhandle,menuitemno,submenuitemno, menutext),其中參數controlhandle是控制句柄的變量名,這里是popuphandle;參數menuitemno是選單內容中的排列順序;參數submenuitemno的作用是設置子選單,如“0”表示是一級選單,“1、2、3......”表示二級選單;參數menutext是設置選單顯示內容,其中分隔線用“-”。
●設置選單顯示位置:result:=tmsdisplaycontrol(controlhandle, x, y, width, height, return),其中參數controlhandle是控制句柄的變量名;參數x、y分別表示水平和垂直位置;參數windth、height分別表示選單的寬和高;return表示返回值。
●最后判斷變量的返回值,根據不同的返回值做相應的處理,如if(result=“退出”) then quit(0)。
下面給出一個具體實例,詳細地講述子選單的制作。
圖1
1.新建一個文件,保存為“子選單.a5p”,設置該文件屬性,把其中的“menu bar”選項勾去掉,.然后在流程線上放置一個顯示圖標,自己設置一選單條,用一灰色圖片放在展示窗口的選單區域,再寫上“文件”。
2.導入tmscontrols.u32中的三個函數。
3.在流程線上添加一個交互圖標,命名為“tmscontrols”,然后在其右側放置一個計算圖標,命名為“submenu”,響應方式設置為熱區交互,目的是使點擊“文件”后出現相應的選單。
4.雙擊“submenu”計算圖標,輸入如圖1所示的內容。
圖2
5.至此,實例程序設計、制作完畢,保存該文件。
運行該文件,其運行結果如圖2所示。
這樣,一個實用、漂亮的二級子選單就做好了。利用該種方法制作子選單要注意的有兩點:
(1)彈出一級子選單后,如果沒有單擊任何選單選項,.此時的返回值為該子選單的最后一個選單內容,在該實例中為“-”;
(2)單擊第二級子選單后所返回的值不僅包含本身的子選單名,而且包含了一級子選單名,如“zsb1”子選單響應后所返回的值為“新建:zsb1”。
新聞熱點
疑難解答