网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > 其他类别 > 正文

Authorware入门教程之开发多媒体课件的经验

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/07/22

文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了其他类别-Authorware入门教程之开发多媒体课件的经验的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!

  用VB程序做主框架来调用Authorware程序,当整个东西很大的时候, 一般不会做成一个文件,尤其对于多媒体课件来说, 如果能把各个章节、模块分成几个独立的文件,那是最好的。然而如果单单用Authorware的话,总不能尽如人意的做到这一点。尽管可以用JumpFile、JumpOut等等函数,也可以用库将资源独立出来,但是在考虑总体结构的时候,总是存在一些问题。衔接不够紧密,不能使用公共的模块,几个文件相互通讯困难,而且当框架功能比较复杂时,Authorware便显的能力不足了。

  我在用Authorware做了一段框架之后,想到了一个方法可以用VB(其它的应该也可以,只不过VB简单一些而已)来控制我的Authorware程序。我将这个方法用到我的课件中,实践证明是可行的。

  这儿我简要的说一下原理,如果您想进一步了解的话请到166.111.26.24/YeyaSrc下载原程序。

  原理:

  1.在VB程序里可以通过发送键盘或鼠标消息来激活Authorware程序中的交互。比如:在Authorware中定义一个永久的热区交互,同时设置热键为F12,那么,在VB程序中先用SetFocus将输入聚焦定位到Authorware窗口(假设已经知道了Authorware窗口的句柄,如何得到句柄下面进一步讨论),然后用PostMessage(或者SendMessage)给它发送一个F12的KeyDown消息。

  2.同样Authorware程序也可以给VB程序发消息,让它响应。(根据我的试验,用MouseDown消息更好一些,可以发送0,0坐标,甚至负值的坐标的MouseDown消息,总之是用户不可能点到的地方,在VB程序的Form_MouseDown事件中再判断一下坐标。)

  3.如何传递参数。VB要控制Authorware程序作动作必然要传递一些参数(当然你可以指定F11翻到下一页,但是要翻到第5页怎么办?)。

  应用程序之间传递参数可以用DDE,但是这太复杂了。我想到的一个简单的方法是利用dll的全局变量。dll有自己的数据段,我们可以通过引出函数来实现各个程序对dll全局数据的访问。一个简单的例子如下:

  int g_iMsg;     //定义一个全局变量。

  //通过这个函数设置g_iMsg的值。

  extern "C" void FAR PASCAL _expert SetMsg(int val)

  {

  g_iMsg=val

  }

  //通过这个函数读取g_iMsg的值。

  extern "C" int FAR PASCAL _expert GetMsg()

  {

  return g_iMsg

  }

  这样两个应用程序便可以通过同一个dll来传递参数-一个用SetMsg()给g_iMsg赋值,另一个用GetMsg()读出这个值。

  (对于传递字符串要复杂一些,但应该也是可以的。)

  4.有了传递参数的方法之后,那么用VB程序启动Authorware程序之前,先在dll中设置初始化的消息号、VB窗口句柄等等参数;然后当Authorware程序启动,它首先到dll中读出这些参数,(如果消息号不是初始化的消息号,说明不是由VB程序启动)保存VB窗口句柄。然后用2中说的方法给VB发回应消息,同时传递自己的窗口句柄等参数。

  5.接下去,有了对方的窗口句柄之后,就可以用1、2中的方法给对方发消息,同时用3的方法传递参数,这样双方便可以响应对方的消息,并根据参数做相应的动作。

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号