在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控件,添加。
OK!现在可以在EVC上调用该ocx编程了。
在板板上使用时,注册好就可以了