在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編程了。
在板板上使用時,註冊好就可以了