ActiveX是功能非常强大的组件,通常能够完成许多扩展功能函数。但是它好比是一把双刃剑,有优点同时也存在缺点。
[优点]
1. 拥有基础广泛的各种已编译的组件使其直接运用于Director中。
2. 大多数的组件均是免费。
3. 支持组件动态升级下载。
[缺点]
1. 只能运行于Windows操作系统。
2. 不支持shockwave。
3. 有些函数功能调用Director不支持。
4. 极少的MacroMedia的技术支持。
所以您是否会问,activeX是否值得我们使用呢?首先当然要依据你开发的项目,这种项目尤其是将要开发并运行于微软的操作系统上就特别适合了。例如您可以使用浏览器控件或者Adobe Acrobat控件来读取网页或者pdf文档,你会发现这比使用vc开发xtra要来的方便可行。
下面我们开始学习如何使用ActiveX。
首先我们要学习的是activeX的安装。
通常控件的安装我们分为标准安装和web安装。
标准安装通常我们是使用各种打包软件,比如installsheild,wiseinstall等工具软件来制作安装程序,直接安装于微软的操作系统,或是通过微软的控件注册工具来进行手工注册,比如使用REGSVR32.EXE(一般在windwos系统目录下能找到)。
web安装是我们通过控件的版本设定经互联网进行自动升级,如我们看见的flash插件均是通过浏览器就能自动安装。
每次启动director程序前检查控件是否存在或是正常运行是个编写程序很好的习惯。下面提供的脚本能给你一点提示:
put checkActiveX("")
on checkActiveX whatControl
theList= []
if ActiveXInstalled() = -1 then -- -1 表示已正确安装,0表示未正确安装
--在这里写上你的代码
else
--在这里写上你的代码
end if
if ActiveXControlQuery(whatControl)=-1 then --同上解释
--在这里写上你的代码
else
--在这里写上你的代码
end if
return theList
end checkActiveX
这里ActiveXInstalled()、ActiveXControlQuery()均是xtra的内部函数。
接下来我们要学习的就是ActiveX的实际运用。
在cast库里增加一个ActiveX:选择菜单insert-->点击control-->点击ActiveX...,这里可以看见一个对话框“select ActiveX control”,在列表框内选择您要使用的控件名称,当然您也可以通过search框进行模糊查找,例如您可以选择Microsoft Common Dialog Control 6.0并选择ok键。此时您可以打开cast库,并且发现在库中多了一个类型为ActiveX的member。
好!我们将其拖至stage上并双击该sprite,出现控件的对话框。选择mother,对话框将列出该控件可以使用的所有方法。记下其中一个方法,比如showopen(),此时你可以建立一个按钮并在按钮上写下如下script:
on mouseUp me
sprite(1).showopen() --sprite(1)为控件的精灵
end
看看发生了什么。
现在您应该知道,Director可以调用微软的很多现有组件(重要的是免费的),很棒吧!