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放到主程序所在目录。
你只需对本实例稍加修改,就可以用到你自己的程序中去了。