不過它很久沒更新了,所以在wxWidgets 2.8、2.9都得自己動手改程式。
- 下載wxActiveX
- 將wxActiveX解壓縮。
- 用Microsoft Visual C++ 2008 Express Edition(下載)開啟它的wxIE.dsp,會問要不要轉換,按「是」
- 更改專案的環境設定:
- 把組態切換到Unicode Release
- 將「其他Include目錄」更改到正確的wxWidgets 2.9路徑。(例:"D:\libs\wxWidgets-2.9.1\include";"D:\libs\wxWidgets-2.9.1\lib\vc_lib\mswu")
- 將「前置處理器定義」的內容換成
WIN32__WIN32____WXMSW__wxUSE_UNICODE_WINDOWS_CRT_SECURE_DEPRECATE_CRT_NONSTDC_NO_DEPRECATENDEBUG - 將「其他程式庫目錄」更改到編譯好的wxWidgets 2.9程式庫路徑。 (例:"D:\libs\wxWidgets-2.9.1\lib\vc_lib";"D:\libs\wxWidgets-2.9.1\lib\vc_lib\mswu")
- 將「其他相依性」裡的wxmswu.lib改成wxmsw29u.lib。
- wxIEFrm.cpp第265行:
原始: wxOPEN 修改後: wxFD_OPEN - wxActiveXFrame.cpp第117行:
原始:(wxObjectEventFunction) OnActiveXEvent修改後:(wxObjectEventFunction) &wxActiveXFrame :: OnActiveXEvent - wxactivex.cpp第303行:
原始:SetTransparent();修改後://SetTransparent(); - wxactivex.cpp第909行:
原始:m_activeX->GetParent()->ProcessEvent(event);修改後:m_activeX->GetParent()->GetEventHandler()->ProcessEvent(event); - wxactivex.cpp第924行:
原始:m_activeX->GetParent()->AddPendingEvent(event);修改後:m_activeX->GetParent()->GetEventHandler()->AddPendingEvent(event); - wxactivex.cpp第1033行:
原始:for (i = 0; i < m_params.GetCount(); i++)修改後:for (int i = 0; i < m_params.GetCount(); i++) - wxactivex.cpp第1533行:
原始:for (i = 0; i < nargs; i++)修改後:for (int i = 0; i < nargs; i++) - wxactivex.cpp第1672行:
原始:dc.BeginDrawing();修改後://dc.BeginDrawing(); - wxactivex.cpp第1697行:
原始:dc.EndDrawing();修改後://dc.EndDrawing(); - wxactivex.cpp第2494行:
原始:char buf[256];修改後:WCHAR buf[256]; - IEHtmlWin.cpp第174行:
原始:int n = min(prepend.size(), cb);修改後:int n = min(prepend.size(), cb);


沒有留言:
張貼留言