不過它很久沒更新了,所以在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_DEPRECATE
NDEBUG
- 將「其他程式庫目錄」更改到編譯好的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);
沒有留言:
張貼留言