admin 管理员组文章数量: 887021
2024年2月28日发(作者:go语言标识符)
Activex控件的应用 文苹编号:1003-5850(2011)04-0056-03 Activex控件的应用 Application of Activex Control 李媛 (山东工业职业学院建筑工程与信息系 山东淄博 256414) 【摘 要】Authorware作为一种主要面向非程序员的多媒体创作工具,具有简单易用、编程灵活的特点,但其软 件功能相对比较简单。为了满足一些高级设计人员进行复杂程序创作的需要,Authorware从4.0版本开始提供 了对ActiveX控件的支持,允许用户在Authorware文件中嵌入ActiveX控件,与其他支持ActiveX控件的环境 中一样方便快捷地使用。由于有许多软件厂商支持ActiveX技术,所以大多数功能都能找到相应的ActiveX控 件。这意味着在Authorware中,通过调用ActiveX控件来直接使用现成的程序模块,从而省掉许多繁琐的编程 工作。 【关键词】Authorwar,ActiveX控件,模块,TTS引擎 中图分类号:TP317.4 文献标识码:A ABSTRACT Authorware for non—programmers as a major multi—media authoring tool,with easy to use,flexible programming features,but relatively simple function of its software.Some senior design staff tO meet the complex needs of program creation, Authorware starting from version 4.0 offers support for ActiveX controls。allowing users to embed AetiveX controls in Authorware files,ActiveX controls and other support for the environment as quickly and easily use.Since many software vendors tO support ActiveX technology,SO most functions can be found in the corresponding ActiveX controls.This means that in Authorware,the ActiveX control by calling the program directly using the ready-made modules to save a lot of tedious programming. KEYWORDS Authorwar,ActiveX controls,module,TTS engine Authorware作为一种面向大众的多媒体软件,其 图形化的界面简单易用,极易上手。但也正因为如此, 其功能方面相对而言就简单一些。为此,Authorware 提供了对ActiveX技术的支持。 使得用户在一个程序中所创建的信息可以被集成到其 他程序所产生的文档中。这样就可使它(如Flash动 画)可以随意地应用到各种场合。 ActiveX控件的数据输入和函数功能执行都必须 通过容器,因此AetiveX控件和容器之间必须有一些 特定的接口协议。ActiveX控件必须具备如下的性能 机制: 1 ActiveX的基本知识 ActiveX是Microsoft的元素软件标准。简单地 说,ActiveX技术是一种共享程序数据和功能的技术。 它由微软提出并大力推广,并已成为事实上的标准。 ActiveX技术是Microsoft对OI E技术的更新和 发展,Microsoft公司为了适应网络的高速发展把它的 0LE技术和OCX技术融为一体并加以改进形成联合 标准,改进之后赋予新名字ActiveX。也就是说, ActiveX中涵盖了OLE的所有技术和功能,同时又具 属性和方法:ActiveX控件必须提供属性的名称、 方法的名称及参数,通过这项机制,容器可以存取和改 变ActiveX控件的属性参数。 事件:ActiveX控件由这项机制通知容器在 ActiveX控件中发生的事件,比如属性参数的改变,用 户按下鼠标左键等。 虽然在本质上ActiveX和OI E是同一种技术(实 有许多新的特性,以适应网络发展的需要。 ActiveX指的是一组包括控件、DLL和ActiveX 现不同程序的数据和功能的共享),但其目的有所差 别。ActiveX的目的主要是共享程序模块之间的计算 功能,生成一些专门的可以嵌入其他程序中的“小程 序”,例如Microsoft web浏览器控件可以使得别的应 用程序能够浏览(仅仅是浏览而不是创建)Web网页。 ActiveX控件是一个模块化的灵活对象,如果某 文档的组件,它通常以动态链接库的形式存在,其设计 思想是将一个程序(比如Flash动画)嵌入到另一个程 序中(这个程序通常被称做容器,比如Authorware、 Delphi、VB、VC、Internet Explorer等)。借助这种技术 * 2010—12—28收到,2011—02—11改回 ** 李媛,女,1982年生,本科,研究方向:计算机软件编程
第24卷第4期 电脑开发与应用 个应用程序或网页需要增加一项特殊的功能,则无须 重写整个程序,只要灵活地插入一个具有此项功能的 ActiveX控件即可实现,ActiveX的优势还在于它的动 态可交互性,用户可以动态地在使用过程中,通过改变 它的属性和参数,在应用程序中实现自己的特殊要求。 图3 注册失败对话框 图4控件删除成功对话框 对ActiveX控件注册的格式如下: ActiveXControlRegister( <ActiveX控件的文件 名>”) 作为一个外部程序,ActiveX控件在Authorware 中的使用与普通图标的使用有很大区别。总的来说,使 用ActiveX控件要涉及到以下内容。 1.1安装注册控件 如要注销该控件,格式如下: ActiveXControlUnregister(”<ActiveX控件的 如果’ 使用自己编写的控件或者使用其他人提供 的控件,就先要在Windows中进行注册,否则会出现 错误。同样如果我们的程序中使用了控件又要交给用 户使用,最好必须先检测用户机中是否注册了该控件, 若没有就要进行注册。 注册的方法有两种: (1)手动注册。 方法是:单击Windows的开始菜单,选择运行命 令,在打开的对话框中输入以下命令: regsvr32<ActiveX控件的文件名> 注册指定的ActiveX控件,ActiveX控件的后缀 为(*.ocx) regsvr32.exe是Windows自带的ActiveX注册 工具,可以在Windows的系统目录中找到,假定要注 册一个自建的控件New.OCX,那么就输入如下命令: regsvr32 new.OCX,如图1所示。 单击确定按钮,如果注册成功,将会出现如图2所 示的对话框,提示成功,否则会出现如图3所示的对话 框,提示没有注册成功,原因一般是已经注册过该控件 或控件本身有问题。 图1运行窗口 图2注册成功对话框 若要解除某一个ActiveX控件的注册,则格式如 下: regsvr32/u<ActiveX控件的文件名> 比如要删除刚才.注册的控件new.OCX,就可以 在运行窗口输入以下命令: regsvr32/u Dew.OCX 然后单击确定按钮,如果删除成功,将出现对话框 来提示成功删除,如图4所示。 (2)在Authorware中自动注册。 方法是利用Authorware中的Xtra ActiveX里的 函数来进行注册。 文件名>”) 同样以new.OCX为例(通常首先要检测当前系统 是否支持控件注册): 注册控件: if ActiveXInstalled()一一1 then result:一ActiveXControlRegister(FileLocation new.OCXtt) end if 这里假定new.OCX是放在程序文件所在目录中。 result是自定义变量,用来记录函数 ActiveXControlRegister的返回值的,若注册成功则 返回值为一1,否则为0。 注销控件: if ActiveXInstalled()一一1 then result: 一 ActiveXControlUnregister (FileLocation new.OCXtt) end if 1.2如何检测ActiveX控件 当我们在程序中使用了一个新控件,而在用户系 统中运行的时候,无法保证该控件已经在用户系统中 注册,这时我们就需要一个功能模块,用于检测在用户 系统中,该控件是否已经注册,如果没有注册,则自动 在用户系统中进行注册。 这个功能同样可以用Authorware的系统函数来 实现。用于检测一个ActiveX控件已经在系统中注册 的函数是否是:ActiveXControlQuery(”CLASSID”)。 其中CLASSID为ActiveX控件的ID标识号,每 一个ActiveX控件在Windows系统中都有惟一的32 位的ID标识号,我们必须先获得这个ID标识号,才 能使用该函数检测与此CI ASSID对应的ActiveX控 件是否已经注册。 在插入ActiveX控件后,打开其属性对话框。在其 属性对话框中单击“URL”按钮,打开ActiveX控件的 URL属性对话框,如下页图5所示。 即可以查看该ActiveX控件的Classid,单击 [Copy]按钮即可将此Classid复制到剪贴板中。比如
Aetivex控件的应用 Shockwave Flash Object控件的 Classid 就是: {D27CDB6E— AE6D一11CF一96B8— 44455354OO0O}。 图5 ActiveX控件 获得了ActiveX控件的 的URL属性 Classid,则检测语句如下: 对话框 Result: 一 ActiveXControlQuery(”{D27CDB6E—AE6D一1 1CF一96B8—444553540000}”) 如果控件已经在系统中注册,则函数返回值为一1, 否则返回值为0。 将需要注册的控件文件(OCx)复制到程序文件 目录下。首先检测用户的系统是否支持安装ActiveX, 然后检测控件是否已经注册,方法是判断Result的值 是一1还是0,再决定是否要注册。 1.3 Authorware中TTS引擎的使用 ActiveX是由微软的OCX、OLE技术发展而来 的。我们可以在自己的演示程序中插入ActiveX控件, 从而实现一些高级的功能。例如,利用Microsoft web Brower控件,你可以设计出自己的网页浏览器,上网 冲浪;利用InterVista Vrml控件,可以在你的应用中 浏览虚拟世界;利用Text To Speech控件,可以实现 英语的即时朗读功能,这就意味着你可以创建类似词 霸之类的软件。 TTS引擎能将文字转化为数字音频,它可以实现 整句的流畅朗读,而且是标准的美式发音。它允许用户 更改声音的频率、语速,功能强劲。因此,利用TTS引 擎制作英语教学的课件或学件绝对是个不错的主意。 1.4在Authorware中插入ActiveX控件的步骤 ①启动Authorware 7,确定要插入控件的位置。 ②选择【插入】一【控件]-- ̄[ActiveX]菜单。 ③在出现的对话框中,选择“TextToSpeech Class”类控件。单击【确定】按钮,弹出该控件的属性对 话框。 ④单击【确定】按钮,使用Authorware的默认设 置。在流程线上把ActiveX图标名称改为“TTS”。 要想让TTS引擎开口说话,就得用到CallSprite 函数。该函数的语法为: result :一CallSprite(IconlD@ SpriteIconTit1e , # metho d[,argument…]) spriteIconTitle为ActiveX控件所在的图标名 称,method为ActiveX控件的方法,argument为该控 件方法的参数。 ⑤在流程线上放置一交互图标,拖动群组图标至 交互图标的右边。 选择文字输入(Text Entry)交互类型,它用于接 受用户输入的单词或句子,并自动放置在系统变量 EntryText中。再拖动一计算图标至交互图标的右侧, 更改交互类型为按钮交互。调整如图6所示。 在该计算图标中输入: CallSprite(@ TTS”,#SPEAK,EntryText) 这句语句可以读出系统变量EntryText所代表的 单词或句子。单击【朗读】按钮即可听到浑厚的美语发 音。 不过,不要忙着把你的应用打包发行。作为一个优 秀的设计者,我们需要先判断用户端有没有安装TTS 引擎。 ⑧在流程线的顶部加入计算图标,在计算图标中 输入以下语句: if ActivexInstalled()一一1 then if ActivexControlQuery( {2398E32F-5C6E- 11D1—8C65.0060081841DE) )=0 then SystemMessageBox(WindowHandle,”系统没 有检测到TTS引擎,请安装 , Warning”, 48)一1一OK end if end if 上面这段语句首先判断系统是否支持安装控件, 若系统不支持,则不进行安装操作;若支持,则进一步 判断是否已安装ClassID为{2398E32F一5C6E一11D1— 8C65.0060081841DE)的TTS引擎,如没有则出现提 示信息。当然,更友好的方法是让用户选择是否安装, 具体请参考jumpout和JumpOutReturn两个函数。要 提醒大家注意的是,这两个文件最好和Authorware 文件存储在同一个文件夹里,否则需指明路径。 运行程序,如图7所示。 一图6调用TTS引擎流程图 图7调用TTS引擎效果图 OLE技术和ActiveX技术扩展了Authorware外 部功能,灵活运用它们将使你的多媒体应用程序大放 光彩。 参考文献 [1] 欧阳开翠,谭渊.全方位网页制作教程I-M].北京:北 京航空航天大学出版社,2009. E2] 方慎林,胡 豪,徐 星.Dreamweaver 8网页制作教 程I-M].北京:北京科海电子出版社,2009. 一一
版权声明:本文标题:Activex控件的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1709113656h538074.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论