Authorware实战开发专题(4-2)

  •   2009-07-09/15:30
  •   ActiveX技术的应用

    ActiveX控件是一个模块化的灵活对象,如果在某个应用程序中增加一些特殊的扩展功能,这样开发者就无须重写整个代码程序,只要灵活地插入一个具有特定功能的ActiveX控件即可实现特定的功能。在Authorware多媒体创作平台中利用ActiveX控件进行开发,可以大大地节省开发系统时所需要的工作量和工作时间。使用ActiveX控件是Authorware及其有价值的扩展,利用ActiveX控件,几乎可以完成任何事情。

    具体来说,Authorware是通过Activex.x32和Actxpriv.x32这两个文件来实现ActiveX扩展的。以上两个文件我们可以在Authorware安装目录下的“Xtras”文件夹里找到。其中“Actxpriv.x32”是创作用户界面,“Activex.x32”是运行Authorware作品,这两个文件是Authorware和ActiveX控件的通信桥梁。

    在制作开发Authorware的应用程序中如果利用了ActiveX控件,就必须保证打包发布后在用户的应用程序中附带上所需的支持文件,即只要在应用程序的“Xtras”目录里附带上Activex.x32,因为只有这样应用程序才能够正常地执行,否则将回出现类似图4.7所示的错误提示,程序中的ActiveX控件也是无法使用的。但是需要注意的是打包程序无须附带上Actxpriv.x32,否则会造成不可预料的后果,因为它主要负责设计时ActiveX控件的界面,



    图4.8 Authorware中使用ActiveX控件需要支持文件

    借助于ActiveX控件进行Authorware多媒体程序开发时,一般都要将所需ActiveX控件文件(*.OCX)复制到硬盘中,然后将其在Windows系统中注册。注册方法可以选择手动注册或者直接在Authorware应用程序中加入ActiveX控件注册代码。

    手动注册方法十分简单,需要用到Windows系统提供了一个名为“Regsvr32.exe”可执行文件,如我们要注册“SwFlash.ocx”控件,具体步骤如下:

    (1)把“SwFlash.ocx”控件文件复制到Windows安装目录下的System子目录下;

    (2)在Windows的[开始]菜单中的[运行]里运行注册命令行:regsvr32 SwFlash.ocx;

    (3)如果注册成功,Windows系统此时将回弹出如图4.9所示的提示对话框,重新启动Authorware后,在Authorware菜单Insert—>Control—>ActiveX….列表中就可以找到所需的ActiveX控件。



    图4.9 成功地手动注册SwFlash.ocx控件

    至于另一种方法我们将在下面的实例中讲到。下面我们就利用Web ActiveX来创建自己的Internet(简称IE)浏览器。

    1、 执行预览。如图4.10所示。



    图4.10 Web控件创建浏览器执行效果

    2、 程序流程图如图4.11所示。



    图4.11 浏览器范例程序流程图

    3、 Web ActiveX控件简介。

    本实例中主要用到的ActiveX控件就是微软开发的Web浏览器控件。通过适当的代码,我们可以使它实现特定站点的浏览或者只显示指定的网页或HTML文件。

    4、 操作步骤。

    1) 新建一个Authoware文件

    2) Web浏览器控件的安装判断。

    拖入一个交互图标,在其后边分别添加两个条件返回交互用来判断控件的安装与否。其中一个条件交互的返回类型为“Return”,条件设置为:

    ActiveXControlQuery("{8856F961-340A-11D0-A96B-00C04FD705A2}")=0

    这个ActiveX Xtra是来检查某个ClassID是否存在,这里的Web浏览器控件的ClassID是:{8856F961-340A-11D0-A96B-00C04FD705A2},如果条件为真,表示没有安装该控件,需要进行安装处理。可以使用ActiveX Xtra函数:ActiveXControlDownload()和ActiveXControlRegister()来进行安装注册。

    另一个条件交互的返回类型设置为“Exit”,条件设置为:

    ActiveXControlQuery("{8856F961-340A-11D0-A96B-00C04FD705A2}")=-1

    如果条件为真的话,那就是说系统已经安装了该控件,程序继续执行下一步的流程。

    由此我们可以知道,ActiveXControlQuery()函数的两个返回值的含义:

    0 表示没有安装指定的控件

    -1 表示已经安装了指定控件

    3) 设置IE浏览器的界面背景和中文下拉式菜单。

    4) 将微软的Web浏览器控件加入到应用程序中。

    选择菜单“Insert—>Control—>ActiveX…”,在控件选择对话框中,选择“Microsoft Web浏览器”,单击OK按钮;弹出控件属性对话框,不用修改其任何属性(在这里你就可以查看到该控件的属性、方法和事件);最后,点击OK按钮,在Authorware程序的流程上就出现了名为“ActiveX…”的Sprite Xtra图标,将其名字该为“浏览器控件”。

    这里Web浏览器画面的默认大小可能不符合用户的要求,因此我们有必要改变Web浏览器画面的大小。运行程序,控件所在的位置现在只是一块带有微软LOGO的黑色,如图4.12所示;按Ctrl+P键暂停程序的运行(这是一种调试程序的好方法),鼠标单击控件,调整其大小直到符合自己要求为止(继续运行程序,IE窗口 所在的地方仍旧是一个黑色块,因为没有让控件浏览器显示任何网页)。



    图4.12 控件浏览器的默认显示

    5) 显示主页。

    在“浏览器控件”Sprite Xtra图标后面添加一个计算图标,命名为“主页”,在其中输入代码显示指定:

    CallSprite(@"浏览器控件",#Navigate,FileLocation^"index.htm")

    此时重新执行程序,这次浏览器将出现程序指定的主页页面内容。

    6) 建立主交互,调用浏览器控制的方法。

    如图4.11所示,分别建立交互,下面是各个交互项中计算图标的代码内容:

    打开主页:(这里的主页地址可以自己设置)

    CallSprite(@"浏览器控件",#Navigate,"http://www.microsoft.com")

    停止:

    CallSprite(@"浏览器控件",#Stop)

    刷新:

    CallSprite(@"浏览器控件",#Refresh)

    返回:

    CallSprite(@"浏览器控件",#GoBack)

    前进:

    CallSprite(@"浏览器控件",#GoForward)

    7) 建立“事件交互”交互部分。

    如图4.11所示,建立按钮响应交互“打开文件”的事件交互,它实现的功能是弹出一个标准的“打开文件”对话框,用户可以通过它选择一个HTML类型的文

    件并打开它,群组图标“打开文件”的二级流程图如图4.13所示。



    图4.13 “打开文件”交互分支

    在“打开文件”的交互分支中我们使用了Authorware自带的“Open File Dialog Knowledge Objects”来实现浏览打开选择的HTML类型的文件。在计算图标“显示打开的文件”里输入代码来显示选择的HTML类型文件:

    CallSprite(@"浏览器控件",#Navigate,tmlfile)

    其中“Tmlfile”是Knowledge Objects 返回的所选HTML类型文件的变量。

    在“打开文件”右边继续添加两个分支,这两个分支的作用是显示用户输入的URL地址,并在屏幕上显示出来。

    其中“*”计算图标是提供用户输入URL的交互分支,在它里面输入代码:

    CallSprite(@"浏览器控件",#Navigate,EntryText)

    “显示地址”计算图标是在地址输入框内显示html文件的地址,在它里面输入代码:

    PresetEntry:=ValueAtIndex(EventLastMatched,6)

    这样我们的事件交互就设置完成了。

    8) 存盘完成。可以执行看看自己创建的IE浏览器拉,是不是很有成就感啊?


    专题总结

    OLE技术和ActiveX技术扩展了Authorware外部功能,灵活运用它们将使你的多媒体应用程序大放光彩。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多