| MessageBox就是消息对话框,我们在运行程序时总不免要同消息对话框打交道,要在“确定”、“取消”等按钮中进行选择。在Authorware 中使用MessageBox对话框,不仅能起到提示、警告、交互的作用,而且使应用程序更符合Windows规范,并简化了编程过程,使用户产生亲切感。
在Authorware5.0以上版本可以直接使用知识对象“Message Box”来调用Windows的消息对话框,若在Authorware4.0及以下版本中,则必须调用外部函数winapi.u32,选择载入MessageBox函数,从而调用Windows的消息对话框。
一、 Autorware5.0以上中Message Box函数的使用
在Authorware5.0以上版本中引入了“知识对象”功能,系统自身提供了许多函数功能,用户只需按知识对象的提示作出相应的选择,就能完成函数的使用,实现了可视化编程。
Step1:选择“Knowledge Objects”中的“Message Box”知识对象,如图。并把此知识对象用鼠标拖动到流水线处。
Step2:在出现的“Buttons”对话框中选择一种按钮形式,本例选“Yes, No”,如图。然后点击“Next”按钮。
Step3:在“Icon”对话框中选择消息框中的图标,如图。然后点击“Next”按钮。
Step4:在“Caption/Message”对话框中选择消息框中的窗口名称和欲输入的消息框文字,如图。然后点击“Next”按钮。
Step5:在“Returned Value”对话框中选择消息框中的变量返回值,如图表示设置返回的变量为“Value”,其中“Button Number”表示返回按钮的数字,“Button Name”表示返回按钮的名称,如“Yes”。然后点击“Next”按钮。
Step6:这里将出现一个如图所示的要求建立变量的对话框,选择“是(Y)”按钮。
Step7:设置完毕后,流水线中Message Box对象的图标如图。
Step8:运行程序,出现如图所所示的消息对话框。怎么样?简单吧!那你也试试。
二、Autorware5.0以下中Message Box函数的使用
1 winapi.u32中MessageBox函数的调用
先把winapi.u32复制到源程序所在的相同目录中,然后选择“Window→Functions”或按快捷键Ctrl+Shift+F,出现如图1的界面,在“Category”选择相应Authorware程序名,未命名时就为[Untitled]。
图 1
再点击按钮“Load…”,在对话框中选择源程序目录下的winapi.u32,再在图2所示中的函数库中选择“MessageBox”函数,单击“Load”,此时函数已被载入,可用于计算图标中。
图2
2 MessageBox函数的基本格式
MessageBox函数的使用基本格式为:int:= MessageBox( HWND hWnd , LPCSTR lpText, LPCSTR lpCaption, UINT uType)。各量的含义分别为:HWND hWnd:程序主窗口的窗口句柄,在Authoraware中为系统变量WindowHandle;LPCSTR lpText:输入消息对话框正文; LPCSTR lpCaption:输入消息对话框标题;UINT uType:是一个字符串常量,该字符串的值决定消息对话框中按钮、图标等标志情况。如为0显示“确定”按钮;为1显示 “确定”、“取消”按钮;为4显示“是”、“否”按钮。;Int: 一个变量名,用于记录MessageBox函数的返回值。当用户选择了“确定”、“取消”、“终止”、“重试”、“忽略”、“是”、“否”按钮其返回值分别为1,2,3,4,5,6,7。
如在计算图标中输入“MessageBox( WindowHandle ,"确定退出吗?","测试程序",1)”,运行后显示为:
输入“MessageBox( WindowHandle , "\r 版权所有,不得用于商业用途!! \r\r 程序设计: 汪纪苗 \r\r浙江省鄞县中学 浅浅工作室 ","《布朗运动模拟程序》1.1版 ",48)”显示为
其中“\r”的作用是换行,UINT uType=48是显示 和“确定”按钮。
3 挖掘MessageBox函数的潜力
利用MessageBox函数不但能显示标准的Window消息框,而且可利用函数运行后的返回值对用户的选择进行相应的响应,实现与用户的交互作用。
我们在编制多媒体程序时,在用户退出程序前一般需要选择“确定”或“取消”,此时我们就可利用MessageBox函数实现这种功能。先在流水线上建立按钮交互,在“response”中设置成“Perpetual”、“Branch”中选中“Return”,这样以便让用户随时可以退出。在交互后的群组图标的流程图如图,
在图标messagebox中输入:“mess:=MessageBox( WindowHandle , "按<确定>退出程序,确定退出吗? \r\r程序设计:汪纪苗 \r\rHttp://nbwjm.go.163.com \r\rEmail:nbwjm@sohu.com "," 退出...",1)”。
交互图标选择“Conditional”,如图3建立“mess=1”和“mess=2”的二个分支,其中在计算图标“mess=1”中输入“Quit(0)”,群组图标“mess=2”为空。最后,运行后得到如图4的消息对话框,选择“确定”后退出,选择“取消”仍返回原程序运行处。
图 3 图 4
运用上述方法还可制作程序的帮助系统等。Authorware作为优秀的多媒体制作软件,运用它所包含的系统函数、外部函数,能轻松、快捷地实现相应的功能,其中MessageBox函数就是一种常见而实用的函数,为我们制作的多媒体程序增色不少。
|