Authorware菜单的改进

来源 :计算机时代 | 被引量 : 0次 | 上传用户:soochow_deer
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:利用Authorware外部扩展函数,对Authorware中的菜单进行改进,在Authorware中实现了多级菜单和右键弹出菜单。
  关键词:Authorware;外部扩展函数;多级菜单;弹出菜单
  
  0引言
  
  Authorware提供了"Pull-Down Menu”这种交互方式,利用它可以制作出菜单。不过,与常见的多级Windows标准菜单相比,它的菜单大为逊色,而右键弹出菜单就更无法制作。其实,在Authorware的安装程序中,Macromedia公司为我们准备了一些外部扩展函数,利用它们,可以制作出多级Windows标准菜单和右键弹出菜单。
  
  1必需的外部扩展函数
  
  这里我们要借助Authorware的外部扩展函数:Winapi.u32和tMsControls.u32来制作多级标准Windows菜单和右键弹出菜单,这两个外部扩展函数是免费U32(UserCode),在Authorware安装目录里可以找到。Winapi.u32的导入方法如下:单击"window"菜单中的"function"项,显示"Load function"操作窗口;在文件名一栏输入Winapi.u32,单击“打开按纽”,显示“Custom functions inWINAPI.U32";按住Ctrl键,在"name:"一栏中选对应的函数后单击"Load"按钮即完成。tMsControls.u32函数的导入方法相同。
  所需的Winapi.u32函数与功能描述:
  GetMenu(WindowHandle):获取窗体菜单的句柄
  GetSubMenu(menuhandle,npos):获取用户菜单的句柄
  RemoveMenu(menuhandle,position,flag):从窗体中擦除指定菜单
  DrawMenuBar(WindowHandle):显示窗体菜单
  InsertMenu(submenuhandlel,positon,flag,submenuhandle2,
  newsubmenuname):向submenuhandl增加一个新条目,位置
  position,名字newsubmenuname,增加方式由flag决定
  tMsControls.u32必需的部分函数与功能描述:
  tMsCreatePopupList(windowHandle):创建一个弹出菜单,控制并
  返回该菜单的句柄
  tMsAddltem(ControlHandie。menultemNo,submenultemNo,
  menuText):菜单中增加一个条目
  tMsDisplayControl(ControlHandle。X,Y。Width。Height,Return):
  在指定位置显示菜单
  
  2制作多级标准菜单
  
  2.1原有File菜单的擦除
  在用Authorware的菜单交互制作菜单时,Authorware总会在菜单栏上加一个"File"菜单。这个"File”菜单是多余的,所以先去掉这个"File"菜单。
  在主流程线上拖一个交互图标,命名为"File",在其右侧放一个群组图标(内容为空),在弹出的"Response Type,’对话框中,选择“Pull-Down Menu”(菜单交互)。双击群组图标上方的小方块,弹出属性对话框,在“Response”选项卡中,将"Perpetual"复选项选中。
  在交互图标的下方,放一个擦除图标,双击打开擦除图标的属性对话框,则同时交互图标的演示窗口也会被打开。用鼠标单击交互图标演示窗口标题栏上的“File”菜单,演示窗口中的"File"菜单会随之消失,点击确认完成。如图1所示。
  


  
  2.2多级菜单的制作
  制作步骤如下:
  (1)建立“文件”和“编辑”菜单。在流程线上拖放一个交互图标,命名为“文件”,在其右侧放一个群组图标,在弹出的“Response Type"对话框中,选择"Pull-Down Menu”,将这个组图标命名为“新建”。双击群组图标上方的矩形色块,在弹出的“Properties:Response"对话框中,点击"Response"选项卡,选中其中的“Perpetual”复选项,并将“Branch”的值选为“Return”。继续添两个这样的群组图标,分别命名为“保存”、“退出”。
  (2)建立“块操作”菜单。按同样的方法,在主流程线上再放一个交互图标,其右侧也放两个群组图标,分别命名为“撤消”、“查找”。各项设置同上面的步骤一样。这个菜单是要作为下一级菜单插入到“编辑”菜单中的。
  (3)添加程序代码。在主流程线下方加一个计算图标,命名为“menu script”,双击打开窗口,输入如下内容:
  menuhandle:=GetMenu(WindowHandIe)
  file_handle:=GetSubMenu(menuhandIe,0)
  edit_handle::GetSubMenu(menuhandIe,1)
  block_handle::GetSubMenu(menuhandIe,2)
  RemoveMenu(menuhandle,2.1024)
  DrawMenuBar(WindowHandIe)
  InsertMenu(edit_handle,1,1040,block_handIe,”块操作”)
  所用变量初始值赋为空即可,运行结果如图2所示,设计图如图3所示。
  
  3制作右键弹出菜单
  
  在流程线上拖放一个交互图标,命名为“popupmenu”,在其右侧放一个群组图标,在弹出的“Response Type”对话框中,选择“Conditional”。将这个组图标命名为“RightMouseDown=TRUE”。双击群组图标上方的矩形色块,在弹出的"Properties:Response”对话框中,点击“Response”选项卡,选中其中的“Perpetual”复选项,并将“Branch”的值选为“Continue”。双击群组图标,打开它,在流程线的下方加一个计算图标,命名为“popupmenu script”。双击打开输入窗口,输入如下内容:popupHandle:~MsCreatePopupList(WindowHandIeltMsAddltam(popupHandle,1,0,“复制”)tMsAddltem(popupHandIe,2,0,“剪切”)tMsAddltem(popupHandIe,3,O,“粘贴”)popresult:=tMsDisplayControl(popupHandle,CursorX,Cursory,120,100,0)
  


  最后,将所用到的变量初始值赋为空即可。设计图如图4所示。
  这样,当用户进行鼠标右键操作时:条件为真,则系统执行计算图标里的代码后并弹出菜单,在鼠标右键点击处,弹出一个设定好的弹出式菜单,并将用户所选择的菜单项返回给变量popresult。程序运行结果如图5所示。
  
  4打包运行
  
  软件制作完成后,要对其进行package。方法是依次点击菜单“File Pubhsh---*Package”,在弹出“Package File”对话框的“Package File:”下拉列表中选择"For Windows XP,NT and 98Variant",然后点击"Save File(s)&Pac’Kage”按钮。Authorware会把打包后的执行文件放到源程序所在的目录下,并且打包后的文件与源程序文件同名。如果需要把执行文件异机演示,不要忘了把两个外部扩展函数Winapi.u32和tMsCOntrols.u32复制到执行文件所在的目录下。
  
  5结束语
  
  Authorware中的菜单交互功能有限,实现多级标准菜单和右键弹出菜单的方法有很多种。本文仅用外部扩展函数对其进行改进,使其能在使用时更加方便灵活。使用SDK工具对现有软件进行开发是软件编程人员经常遇到的情况,它也为我们进一步改善软件功能提供了一种解决方法。
  (注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。)
其他文献
摘 要:介绍了J2EE体系架构,探讨了基于J2EE的企业信息平台架构机理,并重点分析讨论了信息平台中的消息中心和规则库的设计与实现。  关键词:J2EE;EJB;体系架构;企业信息平台
期刊
摘 要:探讨了XML文件采用XPath(XML Path Language)解析的两种技术。  关键词:XML;XPath;解析;Java;JDOM  0 引言  XML的实质是一种表示数据的方式,用XML描述数据的优势显而易见,它具有结构简单、便于人和机器阅读的优点,并弥补了关系型数据对客观世界中真实数据描述能力的不足。现今,XML除了运用在Web方面,另外最常见的运用就是作为应用程序的配置信
期刊
摘 要:介绍一种基于串口通信的焦化三车连锁控制系统。该方案采用VC++6.0编程实现串口通信,用于远程控制焦化三车:推焦车、拦焦车、熄焦车的相互通信、炉号对位和推焦动作联锁,实验证明,方案实际可行。  关键词: 串口通信;同步;异步;API函数
期刊
摘 要:LIDS是一种基于Linux内核的入侵检测系统。文章简单介绍了入侵检测系统,详细介绍了LIDS的概念、主要功能及其原理。  关键词:入侵;入侵检测系统;安全;LIDS
期刊
摘要:利用GPRS网络作为无线智能监控的信息传输平台是一种非常有效的方法,其原理简单,安全保密性高,不需要组建专用网络。GPRS网络覆盖面广,可实现全球无缝覆盖,与传统的监控系统相比有着独特的优势。文章给出了基于GPRS网络的机房智能监控系统的硬件结构组成和软件工作流程。整个系统主要由终端采集系统和GPRS模块构成。用于无人监守的通信机房远程监控。  关键词:通信机房智能监控;MC35;GPRS;
期刊
摘要:提升处理器时钟频率和二级缓存的大小是提升CPU效率的方法。文章在对AMD Athlon 64实际测试的基础上,概要地从理论上分别阐述了时钟频率和二级缓存对CPU效率影响的原理,侧重分析了在不同应用环境中二级缓存和时钟频率的大小对CPU效率产生不同影响的原因,并提出了二级缓存对CPU效率影响的最佳容量的概念,可使大家对CPU的效率有一个更清楚的认识。  关键词:时钟频率;二级缓存;CPU效能;
期刊
摘要:在编写Java程序时,数组是常用的一种数据类型,然而在实际使用时有许多不便之处。为此,文章讨论了代替Java传统数组的动态数组的设计及实现过程,并举例说明了动态数组类的使用方法。  关键词:Java;动态数组;类;方法    O引言    熟悉Java编程的人员都知道,在创建Java数组时,必须用表达式指定其大小(如:int a[]=new int[3])或通过初始化(如:int a[]={
期刊
摘要:在ERP采购管理系统中采用DM与DB/DW紧耦合方式设计了一个开放集成的数据挖掘系统DMSPM。使用基于约束的交互式数据挖掘技术,以提高挖掘效率和灵活性;将计算模型和工具分离,形成一个模型求解的工具箱,便于使用和维护;通过人机界面和知识推理接受用户决策需求并输出决策结果,提供良好的交互性,从而形成一个拥有强大决策功能的ERP采购系统。  关键词:数据挖掘;ERP;决策支持;采购管理    O
期刊
摘要:介绍了Java ME的Web服务规范,比较了该规范定义的可选包与kXML和kSOAP之间的不同,指出了JavaME的JAX-RPC与Java SE/EE平台上的JAX-RPC 1.1之间的差异,并给出了这些差异给Java ME程序设计者带来的影响,为开发者提供了一些有价值的参考。  关键词:Java ME;Web服务;JSR 172;JAX-RPC    O引言    在有线网络环境中,We
期刊
摘要:根据Web日志中的浏览时间、服务器发送字节数信息和统计所得的页面浏览频度计算页面兴趣度,并结合模糊理论,生成模糊关联规则,提出了一个预测用户浏览兴趣的方法。实验表明,该方法是可行的并且具有较好的效果。  关键词:Web日志挖掘;模糊集;关联规则;页面兴趣度    0引言    自20世纪90年代互联网开始迅速发展以来,Web已成为人们获取信息的一个重要途径,搜索引擎在人们的日常生活和学习中发
期刊