int UnsafeNativeMethods.IOleInPlaceFrame.SetActiveObject(UnsafeNativeMethods.IOleInPlaceActiveObject pActiveObject, string pszObjName) { if (pActiveObject == null) { if (ctlInEditMode != null) { ctlInEditMode.SetEditMode(WebBrowserHelper.AXEditMode.None); ctlInEditMode = null; } return(NativeMethods.S_OK); } WebBrowserBase ctl = null; UnsafeNativeMethods.IOleObject oleObject = pActiveObject as UnsafeNativeMethods.IOleObject; if (oleObject != null) { UnsafeNativeMethods.IOleClientSite clientSite = null; try { clientSite = oleObject.GetClientSite(); WebBrowserSiteBase webBrowserSiteBase = clientSite as WebBrowserSiteBase; if (webBrowserSiteBase != null) { ctl = webBrowserSiteBase.GetAXHost(); } } catch (COMException t) { Debug.Fail(t.ToString()); } if (ctlInEditMode != null) { Debug.Fail("control " + ctlInEditMode.ToString() + " did not reset its edit mode to null"); ctlInEditMode.SetSelectionStyle(WebBrowserHelper.SelectionStyle.Selected); ctlInEditMode.SetEditMode(WebBrowserHelper.AXEditMode.None); } if (ctl == null) { ctlInEditMode = null; } else { if (!ctl.IsUserMode) { ctlInEditMode = ctl; ctl.SetEditMode(WebBrowserHelper.AXEditMode.Object); ctl.AddSelectionHandler(); ctl.SetSelectionStyle(WebBrowserHelper.SelectionStyle.Active); } } } return(NativeMethods.S_OK); }
void UnsafeNativeMethods.IOleInPlaceFrame /*IOleInPlaceUIWindow*/.SetActiveObject(UnsafeNativeMethods.IOleInPlaceActiveObject pActiveObject, string pszObjName) { if (pActiveObject == null) { if (this.controlInEditMode != null) { this.controlInEditMode.SetEditMode(ActiveXHelper.ActiveXEditMode.None); this.controlInEditMode = null; } return; } ActiveXBase <TActiveXClass, TActiveXInterface> activeXBase = null; UnsafeNativeMethods.IOleObject oleObject = pActiveObject as UnsafeNativeMethods.IOleObject; if (oleObject != null) { UnsafeNativeMethods.IOleClientSite oleClientSite = null; try { oleClientSite = oleObject.GetClientSite(); ActiveXSiteBase activeXSiteBase = oleClientSite as ActiveXSiteBase; if (activeXSiteBase != null) { activeXBase = activeXSiteBase.Host; } } catch (COMException) { } if (this.controlInEditMode != null) { this.controlInEditMode.SetSelectionStyle(ActiveXHelper.SelectionStyle.Selected); this.controlInEditMode.SetEditMode(ActiveXHelper.ActiveXEditMode.None); } if (activeXBase == null) { this.controlInEditMode = null; } else if (!activeXBase.IsUserMode) { this.controlInEditMode = activeXBase; activeXBase.SetEditMode(ActiveXHelper.ActiveXEditMode.Object); activeXBase.AddSelectionHandler(); activeXBase.SetSelectionStyle(ActiveXHelper.SelectionStyle.Active); } } }
internal AxSourcingSite(IComponent component, UnsafeNativeMethods.IOleClientSite clientSite, string name) { Component = component; _clientSite = clientSite; _name = name; }