在WinCe下使用ActiveX控件與Window(2k,xp)下最大的不同之處就是要編譯兩個版本的ocx,一個安裝到window上,這樣就可以在EVC環(huán)境下使用該ocx進行編程了,一個安裝到wince上,用于使用這個ocx的程序調用。
在此做了個簡單的ocx試了試,能夠在EVC4.2/模擬器wince4.2下成功。具體步驟如下:
1. 開發(fā)CE版OCX控件。先在EVC中開發(fā)自己的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. 開發(fā)win32版OCX控件。在VC中創(chuàng)建一個和以上工程名字一樣的工程(必須一樣,否則回不成功),把該工程(vc工程)下的 兩個工程文件dsw和dsp拷貝到CE版控件工程的目錄下,和vcw和vcp放到同一個目錄下,然后打開這個目錄下的VC工程,發(fā)現(xiàn)編譯配置里選擇的是“Win32 Unicode Debug”,編譯,可能會產(chǎn)生鏈接錯誤,即差mfc42ud;lib。當然如果VC安裝的很完善的話,不會產(chǎn)生這個錯誤。不過也沒關系,把那個配置改了,改成“Win32 Debug”,這樣就能編譯成功了。編譯完成,VC會自動注冊該win32版的ocx控件。
5.在EVC上添加該Win32版的(不是CE版的)ocx控件。方法,創(chuàng)建一個demo工程,在該工程的對話筐編輯器里,右鍵菜單“Insert ActiveX Controls”,出現(xiàn)Insert ActiveX Controls窗口,點擊“Add Controls”按鈕,找到用VC編譯的Win32版ocx控件,添加。
OK!現(xiàn)在可以在EVC上調用該ocx編程了。
在板板上使用時,注冊好就可以了