Authorware
作为一种主要面向非程序员的多媒体创作工具,具有简单易用、编程灵活的特点,但其软件功能相对比较简单。为了满足一些高级设计人员进行复杂程序创作的需要,
Authorware 从 4.0 版本开始提供了对 ActiveX 控件的支持,允许用户在 Authorware 文件中嵌入
ActiveX 控件,与其它支持 ActiveX 控件的环境中一样方便快捷地使用。由于有许多软件厂商支持 ActiveX
技术,所以大多数功能都能找到相应的 ActiveX 控件。这意味着在 Authorware 中,通过调用 ActiveX
控件来直接使用现成的程序模块,从而省掉许多繁琐的编程工作。所能使用的 ActiveX 控件,除了 Windows
操作系统本身提供的以外, .
还可以根据需要,利用编程语言如 VB 、 VC 、 Delphi 等,制作具有特殊功能的 ActiveX 控件,然后在
Authorware 中使用它们。
1 ActiveX 的基本知识
1.1 Activex 简介
ActiveX 是 Microsoft
的元素软件标准。简单地说, ActiveX 技术是一种共享程序数据和功能的技术。它由微软提出并大力推广,并已成为事实上的标准。
ActiveX 技术是 Microsoft 对 OLE
技术的更新和发展, Microsoft 公司为了适应网络的高速发展把它的 OLE 技术和 OCX
技术融为一体并加以改进形成联合标准,改进之后赋予新名字 ActiveX 。也就是说, ActiveX 中涵盖了 OLE
的所有技术和功能,同时又具有许多新的特性,以适应网络发展的需要。
ActiveX 指的是一组包括控件、 DLL 和
ActiveX 文档的组件,它通常以动态链接库的形式存在,其设计思想是将一个程序(比如 Flash
动画)嵌入到另一个程序中(这个程序通常被称做容器,比如 Authorware 、 Delphi 、 VB 、 VC 、
Internet Explorer 等)。借助这种技术使得用户在一个程序中所创建的信息可以被集成到其它程序所产生的文档中。 . 这样就可使它(如
Flash 动画)可以随意地应用到各种场合。
ActiveX
控件的数据输入和函数功能执行都必须通过容器,因此 ActiveX 控件和容器之间必须有一些特定的接口协议。 ActiveX
控件必须具备如下的性能机制:
属性和方法: ActiveX 控件必须提供属性的名称、方法的名称及参数,通过这项机制,容器可以存取和改变
ActiveX 控件的属性参数。
事件: ActiveX 控件由这项机制通知容器在 ActiveX
控件中发生的事件,比如属性参数的改变,用户按下鼠标左键等。
虽然在本质上 ActiveX 和 OLE
是同一种技术(实现不同程序的数据和功能的共享),但其目的有所差别。 ActiveX
的目的主要是共享程序模块之间的计算功能,生成一些专门的可以嵌入其他程序中的“小程序”,例如 Microsoft web
浏览器控件可以使得别的应用程序能够浏览(仅仅是浏览而不是创建) Web 网页。
ActiveX
控件是一个模块化的灵活对象,如果某个应用程序或网页需要增加一项特殊的功能,则无须重写整个程序,只要灵活地插入一个具有此项功能的
ActiveX 控件即可实现, ActiveX
的优势还在于它的动态可交互性,用户可以动态地在使用过程中,通过改变它的属性和参数,在应用程序中实现自己的特殊要求。
1.2 使用 ActiveX
作为一个外部程序, ActiveX 控件在 Authorware
中的使用与普通图标的使用有很大区别。总的来说,使用 ActiveX 控件要涉及到以下内容。
1.2.1 安装注册控件
如果要使用自己编写的控件或者使用其他人提供的控件,就先要在
Windows
中进行注册。同样如果我们的程序中使用了控件又要交给用户使用,最好必须先检测用户机中是否注册了该控件,若没有就要进行注册。
注册的方法有两种:
1 .手动注册
方法是:单击 Windows 的开始菜单,选择运行命令,在打开的对话框中输入以下命令:
regsvr32 <ActiveX 控件的文件名 >
regsvr32.exe 是 Windows 自带的 ActiveX 注册工具,可以在 Windows
的系统目录中找到,假定要注册一个自建的控件 New.ocx ,那么就输入如下命令: regsvr32 new.ocx
,如图 1 所示。

图 1 运行窗口
单击确定按钮,如果注册成功,将会出现如图 2
所示的对话框,提示成功,否则会出现如图 3 所示的对话框,提示没有注册成功,原因一般是已经注册过该控件或控件本身有问题。

图 2 注册成功对话框

图 3 注册失败对话框
若要解除某一个 ActiveX 控件的注册,则格式如下:
regsvr32 /u <ActiveX 控件的文件名 >
比如要删除刚才 . 注册的控件
new.ocx ,就可以在运行窗口输入以下命令:
regsvr32 /u new.ocx
然后单击确定按钮,如果删除成功,将出现对话框来提示成功删除,如图 4 所示。

图 4 控件删除成功对话框
2 .在 Authorware 中自动注册
方法是利用 Authorware 中的 Xtra ActiveX 里的函数来进行注册。
对 ActiveX 控件注册的格式如下:
ActiveXControlRegister("<ActiveX 控件的文件名 >")
如要注销该控件,格式如下:
ActiveXControlUnregister("<ActiveX 控件的文件名 >")
同样以 new.ocx 为例(通常首先要检测当前系统是否支持控件注册):
注册控件:
if ActiveXInstalled()=-1 then
result:=
ActiveXControlRegister(FileLocation^"new.ocx")
end if
这里假定 new.ocx 是放在程序文件所在目录中。 result 是自定义变量,用来记录函数
ActiveXControlRegister 的返回值的,若注册成功则返回值为 -1 , . 否则为 0 。
注销控件:
if ActiveXInstalled()=-1 then
result:=
ActiveXControlUnregister(FileLocation^"new.ocx")
end if
具体的用函数注册控件和删除控件在后面相应的实例中均有介绍。
上一篇: 无
下一篇: 完
【本站声明】本站刊载的部分内容全部来源互联网,对于此类文章本站仅提供交流平台,不为其版权负责。如涉及侵犯您的知识产权的文章,请联系我们,我们将尽快做出更正。并向您表示感谢!同时特别感谢对本站所有支持的网友。