【聚杰网移动开发】为Pocket PC上的IE创建ActiveX控件开发者网络
标签还提供了一个附加特性,可以在创建控件时设置控件的默认属性值。因此您无需创建脚本代码即可预置属性(如例子中的FillColor属性)。
该特性只可通过以下ATL实现方式获得:
向ActiveX控件添加该信息可以让您在标签内制定信息,以在创建控件时覆盖这些默认属性值。
例如,下面的代码将AXSAMPLE控件中圆圈的FillColor属性设置为黑色。
将控件声明为“Safe for Scripting”
Pocket PC是在Pocket Internet Explorer中实现ActiveX控件的第一个Windows设备。因此,浏览器将验证该控件对脚本是否安全。验证通过IObjectSafety接口实现。在创建控件时,Pocket Internet Explorer for Pocket PC调用控件上的QueryInterface获取IObjectSafety值。
如果控件不支持该接口,用户将得到一个提示“该页面可能包含不安全的控件。还启用该控件吗?”的对话框。
在本例中,我们在ActiveX控件的创建器中设置了通用的安全选项:
这将使控件无需用户介入即可创建和显示。
获取Browser Object Model的访问权
在ActiveX控件的创建过程中,Pocket Internet Explorer通过调用控件的QueryInterface获取IObjectWithSite值。如果控件支持该接口,Pocket Internet Explorer将用指向浏览器接口的指针调用SetSite方法。在Pocket PC上,Pocket Internet Explorer支持IBrowser和IBrowser2接口及BrowserEvents显示接口。 IBrowser
分发ActiveX控件
在建立好ActiveX控件后,它们可以在内部使用,也可以分发给第三方使用。
要在内部使用某ActiveX控件,只需将该控件拷贝到运行位置,并调用regsvrce.exe工具在Pocket PC设备上注册ActiveX控件。
供第三方使用的ActiveX控件需要一个安装程序。安装程序必须注册该控件。regsrvce.exe工具可以在Pocket PC设备上注册ActiveX控件,regsvr32.exe工具可以在桌面系统上注册ActiveX控件(一般而言,成品控件都可在桌面和小型设备上使用)。另一个选择就是编写安装程序直接注册该控件。
随ActiveX提供的安装程序应该在Windows系统目录下安装该控件的.dll(动态链接库)文件和必要的可分发.dll文件。如果用户机器上已有部分DLL,安装程序将比较这些DLL的版本,只有原DLL的版本低于新DLL的版本时才覆盖它。因为ActiveX控件只可用于OLE容器应用程序中,所以无需随控件分发所有OLE动态链接库文件。
小结
用户可以使用Active Template Library(ATL)for Windows CE开发ActiveX控件,并将开发出来的控件用在Pocket PC的Internet Explorer中。为设备开发可重用代码组件是一个快速而强大的方法。开来出来的组件具有体积小和执行速度快的优点,并且允许开发人员按照自己的需要扩展浏览器的功能。 1 2
以下相关文章您是否也应该阅读一下
无相关信息




