在 WinCe 下使用 ActiveX 控件与 Window(2k,xp)下最大的不同之处就是要编译两个版本的 ocx,一个安装到 window 上,这样就可以在 EVC 环境下使用该 ocx 进行编程了,一个安装到 wince 上,用于使用这个 ocx 的程序调用。 在此做了个简单的 ocx 试了试,能够在 EVC4.2/模拟器 wince4.2下成功。具体步骤如下: 1. 开发 CE 版 OCX 控件。先在 EVC 中开发自己的 OCX 控件。编译成功以后,ocx 会被自动下载到模拟器里去。 2. 在模拟器中注册该控件.注册方法:用 EVC 的 remote filter viewer 加载目录 C:\\Program Files\\Microsoft eMbedded C++ 4.0\\EVC\\WCE400\\TARGET\\X86\\regsvrce.exe 到模拟器 windows 目录下。或者直接拷贝该 regsvrce.exe 到模拟器里。拷贝成功后,在模拟器上运行 regsvrce.exe,注册控件,如运行“regsvrce CEActivexBtn.ocx”,即注册了 CEActivexBtn 控件。 4. 开发 win32版 OCX 控件。在 VC 中创建一个和以上工程名字一样的工程(必须一样,否则回不成功),把该工程(vc 工程)下的 两个工程文件 dsw 和 dsp 拷贝到 CE 版控件工程的目录下,和 vcw 和 vcp 放到同一个目录下,然后打开这个目录下的 VC 工程,发现编译配置里选择的是“Win32 Unicode Debug”,编译,可能会产生链接错误,即差 mfc42ud;lib。当然如果 VC 安装的很完善的话,不会产生这个错误。不过也没关系,把那个配置改了,改成“Win32 Debug”,这样就能编译成功了。编译完成,VC 会自动注册该 win32版的 ocx 控件。 5.在 EVC 上添加该 Win32版的(不是 CE 版的)ocx 控件。方法,创建一个 demo 工程,在该工程的对话筐编辑器里,右键菜单“Insert ActiveX Controls”,出现 Insert ActiveX Controls 窗口,点击“Add Controls”按钮,找到用 VC 编译的 Win32版 ocx 控件,添加。 |