精品推荐
阅读排行
· 查看svchost.exe进程· PRO/E 十种技巧
· [组图] 3ds Max 高级长篇人
· [组图] PRO/E的曲面设计
· 怎样学好PRO/E软件?
· 路由技术介绍
· Pro/ENGINEER 学习资
· xml的应用是什么?x
· [组图] Photoshop制作珠宝文
· [组图] flash人物绘画教程
| 作者:佚名 来源:www.pccode.net 整理 发布时间:2006-3-10 12:42:38 发布人:wongrs |
| 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外部功能,灵活运用它们将使你的多媒体应用程序大放光彩。 |
| [ ] [返回上一页] [打 印] [收 藏] |
上一篇文章:两步制作音量控制程序
下一篇文章:OLE与ACTIVEX的应用 |






