来源:
互联网
作者:
若水
2008-03-21/17:10
在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”。