首页 > 设计 > 媒体动画 > 正文

Authorware开发实例:用Authorware绘制标准Win多级菜单-Winapi.u32

2020-09-19 18:36:14
字体:
来源:转载
供稿:网友
文/单润远

  我们都知道,在authorware中提供了“pull-down menu”这种交互方式,利用它可以制作出菜单交互。不过,要用它来制作多级菜单却总是不行。其实,在authorware的安装程序中,macromedia公司在winapi.u32中为我们准备了这样的外部函数,利用它们,我们同样可以制作出标准的windows多级菜单。有兴趣吗?一块来试试。

  原有file菜单的擦除

  在用authorware的菜单交互制作菜单时,authorware总会在菜单栏上加一个“file”菜单。这个“file”菜单与我们的作品总是那么不协调。所以咱们先想办法去掉这个“file”菜单。

  在主流程线上拖一个交互图标,命名为“file”,在其右侧放一个组图标(内容为空),在弹出的“response type”对话框中,选择“pull-down menu”(菜单交互)。双击组图标上方的小方块,弹出属性对话框,在“response”选项卡中,将“perpetual”复选项选中,其他选项就用默认的好设置。

  在交互图标的下方,放一个擦除图标,双击打开擦除图标的属性对话框,则同时交互图标的演示窗口也会被打开。用鼠标单击交互图标演示窗口标题栏上的“file”菜单。仔细看,那个“file” 菜单会随之消失,确认就行了。流程线如图1所示。


图1

  现在执行一下看看,你的菜单栏是不是很干净了?现在我们可以根据自己的需要来制作自己的菜单了。

  多级菜单的制作

  1、在流程线上再放一个交互图标,命名为“中国电脑教育报”,在其右侧放一个组图标,在弹出的“response type”对话框中,选择“pull-down menu”。将这个组图标命名为“专题”。双击组图标上方的那个矩形色块,在弹出的“properties:response”对话框中,点击“response”选项卡,选中其中的“perpetual”复选项,并将“branch”的值选为“return”(如图2)。

  您可以继续添加几个这样的组图标,分别命名为“社会培训”、“专题”等等,当然随便您啦。不过,我们的下一级菜单是要加在“软件.net”下的,所以在这里就不用加了。


图2

  2、按同样的方法,在主流程线上再放一个交互图标,其右侧也放几个组图标,分别命名为“在线学堂”、“网络无限”、“多媒体”、“经验技巧”、“无忧问答”等。各项设置同上面的步骤一样。惟一的不同,就是要把交互图标的命名删除,也就是说要让这个交互图标的名字为空(如图3)。


图3

  3、在主流程线的下方加一个计算图标,命名为“多级菜单制作”,双击打开其输入窗口,输入如下内容:

  menuhandle:=getmenu(windowhandle)

  subhandle1:=getsubmenu(menuhandle,0)

  subhandle2:=getsubmenu(menuhandle,1)

  removemenu(menuhandle,1, 1024)

  drawmenubar(windowhandle)

  insertmenu(subhandle1,0,1040,subhandle2,"软件.net")

  输入结束后,别忘了要保存一下喔!这时,系统会给出一个“where is function getsubmenu()?”对话框,询问在哪里可以找到这些函数(如图4)。这些函数都是authorware自带的,它们都藏身于winapi.u32。通常情况下,您可以在authorware的安装目录下找到它,找到后打开就行了。友情提示:先输入再找函数的好处是省得您一个个地加载函数。


图4

  ok,现在把程序做完了。喂!先别忙着执行啊!我还没说完呢。这个效果您得打包以后才能看得到。在源文件中执行是看不到效果的(可不是我的方法不行啊)。

  什么,打包您还不会?那没有关系,那就点击菜单“file→publish→package…”,然后弹出“package file”对话框,在“package file:”下拉列表中选择“for windows 9x and nt…”,其他设置如图5所示,点击“save file(s) && package”按钮就行了。authorware会把打包后的执行文件放到源程序所在的目录下,并且打包后的文件与源程序文件同名。


图5


图6

  好了,打包完了吗?现在您可以执行一下打包后的文件了。本例的效果如图6所示。

  对了,如果您要到别的计算机上演示的话,可别忘了把那个winapi.u32拷到打包文件所在的目录下啊。不然,会看不到效果的喔!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表