在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”。
新闻热点
疑难解答