荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: linzhi (一帘幽梦), 信区: Multimedia
标  题: 用Authorware制作右键二重菜单
发信站: 荔园晨风BBS站 (Fri Apr 12 22:48:43 2002), 转信

   Authorware本身没有直接为我们提供制作弹出式二重菜单的功能,但是Authorware 5
Attain附带的用户自定义函数tMsControls.U32可制作弹出式二重菜单。
本文就为各位介绍其详细的制作方法。

实现效果

当用户在演示窗口单击鼠标右键时出现一个菜单(类似于在Windows桌面上单击鼠
标右键出现的菜单)。菜单中的第一重是《中国电脑教育报》的几个一级栏目,如
:硬件世界、软件天地、网络时代和电脑教育(注:目前软件天地与网络时代已合
为软件.net,电脑教育应为教育信息化);第二重菜单是软件天地的一些二级栏目
,如:业界视窗、新手上路和编程乐园等。当用户选择某个菜单时,将跳转到相应
的内容。

准备工作

启动Authorware 5.0,新建一个名为“右键二重菜单”的文件。由于函数
tMsControls.U32是外部函数,所以需要进行加载。按Ctrl+Shift+F打开
Functions函数库,选择Category下的“右键二重菜单.a5p”,然后单击Load…出
现对话框,选择tMsControls.U32后单击打开,出现一个对话框。按住Ctrl键可以
连续选中所需要的三个函数:tMsAddItem、tMsCreatePopupList、
tMsDisplayControl,最后单击Load即可完成对函数的加载。

右键响应的制作

在流程线上放置一个【交互图标】,取名为“右键响应”;在【交互图标】旁边放
置一个【群组图标】,其Type(响应类型)为:Conditional;双击【群组图标】
上面的“=”,出现对话框,在Condition中输入RightMouseDown=TRUE,Response
下Scope设置为Perpetual,Erase设置为After Next Entry,Branch设置为Return
,Status设置为Not Judged,最后单击OK完成右键的制作。

制作二重菜单

双击打开【群组图标】,在流程线上放置一个【计算图标】,取名为制作菜单。双
击打开并在其中输入以下内容:

创建弹出式菜单的句柄:
popupHandle:=tMsCreatePopupList(WindowHandle)

1、设置第一重菜单中的内容,其中"-"为分隔线,为了使菜单名称居中,可以在名
称前加空格。

tMsAddItem(popupHandle, 1, 0, "中国电脑教育报")
tMsAddItem(popupHandle, 2, 0, "-")
tMsAddItem(popupHandle, 3, 0, " 硬件世界")
tMsAddItem(popupHandle, 4, 0, " 软件天地")
tMsAddItem(popupHandle, 5, 0, " 网络时代")
tMsAddItem(popupHandle, 6, 0, " 电脑教育")
tMsAddItem(popupHandle, 7, 0,"-")
tMsAddItem(popupHandle, 8, 0," 退出")

2、设置硬件世界和电脑教育的子菜单,即第二重菜单:

tMsAddItem(popupHandle, 4, 1, "业界视窗")
tMsAddItem(popupHandle, 4, 2, "新手上路")
tMsAddItem(popupHandle, 4, 3, "软件速递")
tMsAddItem(popupHandle, 4, 4, "编程乐园")
tMsAddItem(popupHandle, 4, 5, "经验技巧")
tMsAddItem(popupHandle, 6, 1, "教育前沿")
tMsAddItem(popupHandle, 6, 2, "校园实践")

当单击右键将弹出一个前边设定好的弹出式菜单,并将用户反馈(即用户所选择的
菜单项)返回给变量result:
result := tMsDisplayControl(popupHandle,CursorX,CursorY,150, 100, 6)

此时,按Ctrl+R运行程序会发现在演示窗口单击鼠标右键时会出现二重菜单。

二重菜单的交互响应

在流程线上再放置一个【计算图标】和【决策图标】;【决策图标】旁放置一些【
显示图标】,根据名称在【显示图标】输入所需内容,双击【显示图标
】上面的小矩形出现对话框,将Erase Contents设置为Don't Erase;在计算图标
中输入以下内容:

if result=1 then GoTo(IconID@"中国电脑教育报")
if result=3 then GoTo(IconID@"硬件世界")
if result="4:1" then GoTo(IconID@"业界视窗")
if result="4:2" then GoTo(IconID@"新手上路")
if result="4:3" then GoTo(IconID@"软件速递")
if result="4:4" then GoTo(IconID@"编程乐园")
if result="4:5" then GoTo(IconID@"经验技巧")
if result="5" then GoTo(IconID@"网络时代")
if result="6:1" then GoTo(IconID@"教育前沿")
if result="6:2" then GoTo(IconID@"校园实践")
if result=8 then Quit(0)

最后按运行程序,当在演示窗口单击鼠标右键时出现二重菜单,选择后将会跳转到
相应的内容。有兴趣的朋友对本例稍加修改后用到自己的软件中,肯定会提高软件
技术含量,使你的软件增色不少!




--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.73.69]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店