在用authorware制作多媒体作品时,我们希望展示窗口和普通窗口一样可以最小化、关闭、拖动。要实现这一目的,最简单的方法是在设置文件属性时,保留title bar,但这样会影响作品的美观。如何制作自己的标题栏,使之和整个作品搭配协调,并且可以实现标题栏的功能呢?
下面让我们来做一个类似“金山毒霸2002”的窗口(如图1)。将“金山毒霸2002”的窗口截取下来,用photoshop修改成你满意的样子,保存作为作品的背景。再制作最小化和关闭的按钮图形以备用。
图1 类似“金山毒霸2002”的窗口
新建文件
在authorware中新建一个文件。单击“modify”菜单,选择“file —properties…”单击。在弹出的“文件属性”对话框中选择“playback”标签,将“size”项设定为“variable”(可变的),取消“title bar”(标题栏)和“menu bar”(菜单栏)的复选。
窗口设置
拖一个“显示”图标到流程线上,命名为“背景”。将制作好的背景图片导入。
拖一个“计算”图标到流程线上,命名为“重设窗口大小”,双击,在其中输入程序:
resizewindow(593, 406)
movewindow(100, 100)
第一句的作用是将窗口大小设置成合适大小(以背景图片的大小为准)。第二句的作用是将窗口移动到屏幕的合适位置。
最小化及关闭功能
在流程线上放置一个“交互”图标,命名为“窗口控制”。在其右侧放置两个“计算”图标,响应类型都设为“button”(按钮响应),分别命名为“最小化”、“关闭”。在它们的分支属性对话框中“scope”(响应范围)项复选“perpetual”(永久),“branch”(分支)项选择“return”(返回)。编辑这两个响应的按钮样式,用制作好的图片代替默认的样式并调整其位置。
在“最小化”图标中输入程序:
showwindowasync(windowhandle, 6)
这里调用windows api函数showwindowasync实现将窗口最小化。保存时,系统会弹出对话框,提示选择此函数的来源,选择winapi.u32。
在“关闭”图标中输入程序:
quit(0)
作用是退出本程序。
窗口移动功能
在这里我们要实现当用户拖动自定义标题栏时,窗口随之移动的功能。
在交互图标“窗口控制”右侧放置一个“组群”图标,响应类型为“hot spot”(热区响应),命名为“移动窗口”,在分支属性对话框中“scope”(响应范围)项复选“perpetual”(永久),“branch”(分支)项选择“return”(返回)。设定其响应范围包围背景的上部分,这就是我们的标题栏范围(如图2)。
图2 这就是我们的标题栏
双击“移动窗口”图标,在其中放置一个“交互”图标,命名为“move window”。在此交互图标右侧放置两个“计算”图标,响应类型都为“conditional”(条件响应),响应条件分别为mousedown和~mousedown。设置mousedown图标分支的属性,“automatic”为“when true”,“branch”为“try again”。设置~ mousedown图标分支的属性,“automatic”为“when true”,“branch”为“exit interaction”。
在mousedown图标中输入程序:
releasecapture()
sendmessage( windowhandle, 161, 2, 0)
这里同样是调用windows api函数实现窗口可拖动的功能。当系统提示选择这两个函数的来源时,选择winapi.u32。
[1] [2] 下一页
新闻热点
疑难解答