ccidnet????

出版日期:2001-10-31 总期号:442 本年期号:42

本期导读
热点聚焦
硬件世界
CCE评测
软件.net
数码娱乐
社会培训
教育信息化
编读往来
菜单二重奏
用Authorware制作右键二重菜单
周建峰

  对于制作右键菜单,在《中国电脑教育报》2001年第40期49版《用外部函数为课件增色》一文中曾提到。作者在本文中将对该部分内容加以更详细、更深的讲解。

  Authorware本身没有直接为我们提供制作弹出式二重菜单的功能,但是Authorware 5 Attain附带的用户自定义函数tMsControls.U32(http://www.ccidnet.com/soft/

  cce提供下载)可制作弹出式二重菜单。本文就为各位介绍其详细的制作方法。


  实现效果


  当用户在演示窗口单击鼠标右键时出现一个菜单(类似于在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)


  图1

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


  二重菜单的交互响应


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


  图2

  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)

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