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