bool wxWebViewIE::Create(wxWindow* parent, wxWindowID id, const wxString& url, const wxPoint& pos, const wxSize& size, long style, const wxString& name) { if (!wxControl::Create(parent, id, pos, size, style, wxDefaultValidator, name)) { return false; } m_webBrowser = NULL; m_isBusy = false; m_historyLoadingFromList = false; m_historyEnabled = true; m_historyPosition = -1; m_zoomType = wxWEBVIEW_ZOOM_TYPE_TEXT; FindClear(); if (::CoCreateInstance(CLSID_WebBrowser, NULL, CLSCTX_INPROC_SERVER, // CLSCTX_INPROC, IID_IWebBrowser2 , (void**)&m_webBrowser) != 0) { wxLogError("Failed to initialize IE, CoCreateInstance returned an error"); return false; } m_ie.SetDispatchPtr(m_webBrowser); // wxAutomationObject will release itself m_webBrowser->put_RegisterAsBrowser(VARIANT_TRUE); m_webBrowser->put_RegisterAsDropTarget(VARIANT_TRUE); m_uiHandler = new DocHostUIHandler(this); m_container = new wxIEContainer(this, IID_IWebBrowser2, m_webBrowser, m_uiHandler); EnableControlFeature(21 /* FEATURE_DISABLE_NAVIGATION_SOUNDS */); LoadURL(url); return true; }