在WinCe下使用ActiveX控件與Window(2k,xp)下最大的不同之處就是要編譯兩個(gè)版本的ocx,一個(gè)安裝到window上,這樣就可以在EVC環(huán)境下使用該ocx進(jìn)行編程了,一個(gè)安裝到wince上,用于使用這個(gè)ocx的程序調(diào)用。
在此做了個(gè)簡(jiǎn)單的ocx試了試,能夠在EVC4.2/模擬器wince4.2下成功。具體步驟如下:
1. 開(kāi)發(fā)CE版OCX控件。先在EVC中開(kāi)發(fā)自己的OCX控件。編譯成功以后,ocx會(huì)被自動(dòng)下載到模擬器里去。
2. 在模擬器中注冊(cè)該控件.注冊(cè)方法:用EVC的remote filter viewer加載目錄C:\Program Files\Microsoft eMbedded C++ 4.0\EVC\WCE400\TARGET\X86\regsvrce.exe到模擬器windows目錄下。或者直接拷貝該regsvrce.exe到模擬器里??截惓晒?,在模擬器上運(yùn)行regsvrce.exe,注冊(cè)控件,如運(yùn)行“regsvrce CEActivexBtn.ocx”,即注冊(cè)了CEActivexBtn 控件。
4. 開(kāi)發(fā)win32版OCX控件。在VC中創(chuàng)建一個(gè)和以上工程名字一樣的工程(必須一樣,否則回不成功),把該工程(vc工程)下的 兩個(gè)工程文件dsw和dsp拷貝到CE版控件工程的目錄下,和vcw和vcp放到同一個(gè)目錄下,然后打開(kāi)這個(gè)目錄下的VC工程,發(fā)現(xiàn)編譯配置里選擇的是“Win32 Unicode Debug”,編譯,可能會(huì)產(chǎn)生鏈接錯(cuò)誤,即差mfc42ud;lib。當(dāng)然如果VC安裝的很完善的話(huà),不會(huì)產(chǎn)生這個(gè)錯(cuò)誤。不過(guò)也沒(méi)關(guān)系,把那個(gè)配置改了,改成“Win32 Debug”,這樣就能編譯成功了。編譯完成,VC會(huì)自動(dòng)注冊(cè)該win32版的ocx控件。
5.在EVC上添加該Win32版的(不是CE版的)ocx控件。方法,創(chuàng)建一個(gè)demo工程,在該工程的對(duì)話(huà)筐編輯器里,右鍵菜單“Insert ActiveX Controls”,出現(xiàn)Insert ActiveX Controls窗口,點(diǎn)擊“Add Controls”按鈕,找到用VC編譯的Win32版ocx控件,添加。
OK!現(xiàn)在可以在EVC上調(diào)用該ocx編程了。
在板板上使用時(shí),注冊(cè)好就可以了