Пример #1
0
        internal void OnUIActivate(WebBrowserBase site)
        {
            // The ShDocVw control repeatedly calls OnUIActivate() with the same
            // site. This causes the assert below to fire.
            //
            if (siteUIActive == site)
            {
                return;
            }

            if (siteUIActive != null && siteUIActive != site)
            {
                WebBrowserBase tempSite = siteUIActive;
                tempSite.AXInPlaceObject.UIDeactivate();
            }
            site.AddSelectionHandler();
            Debug.Assert(siteUIActive == null, "Object did not call OnUIDeactivate");
            siteUIActive = site;
            ContainerControl f = site.ContainingControl;

            if (f != null && f.Contains(site))
            {
                f.SetActiveControlInternal(site);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        HRESULT Ole32.IOleInPlaceFrame.SetActiveObject(Ole32.IOleInPlaceActiveObject pActiveObject, string pszObjName)
        {
            if (pActiveObject is null)
            {
                if (ctlInEditMode is not null)
                {
                    ctlInEditMode.SetEditMode(WebBrowserHelper.AXEditMode.None);
                    ctlInEditMode = null;
                }

                return(HRESULT.S_OK);
            }

            WebBrowserBase ctl = null;

            if (pActiveObject is Ole32.IOleObject oleObject)
            {
                oleObject.GetClientSite(out Ole32.IOleClientSite clientSite);
                if (clientSite is WebBrowserSiteBase webBrowserSiteBase)
                {
                    ctl = webBrowserSiteBase.Host;
                }

                if (ctlInEditMode is not 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 is null)
                {
                    ctlInEditMode = null;
                }
                else
                {
                    if (!ctl.IsUserMode)
                    {
                        ctlInEditMode = ctl;
                        ctl.SetEditMode(WebBrowserHelper.AXEditMode.Object);
                        ctl.AddSelectionHandler();
                        ctl.SetSelectionStyle(WebBrowserHelper.SelectionStyle.Active);
                    }
                }
            }

            return(HRESULT.S_OK);
        }
        int UnsafeNativeMethods.IOleInPlaceFrame.SetActiveObject(UnsafeNativeMethods.IOleInPlaceActiveObject pActiveObject, string pszObjName)
        {
            if (pActiveObject == null)
            {
                if (this.ctlInEditMode != null)
                {
                    this.ctlInEditMode.SetEditMode(WebBrowserHelper.AXEditMode.None);
                    this.ctlInEditMode = null;
                }
                return(0);
            }
            WebBrowserBase aXHost = null;

            UnsafeNativeMethods.IOleObject obj2 = pActiveObject as UnsafeNativeMethods.IOleObject;
            if (obj2 != null)
            {
                try
                {
                    WebBrowserSiteBase clientSite = obj2.GetClientSite() as WebBrowserSiteBase;
                    if (clientSite != null)
                    {
                        aXHost = clientSite.GetAXHost();
                    }
                }
                catch (COMException)
                {
                }
                if (this.ctlInEditMode != null)
                {
                    this.ctlInEditMode.SetSelectionStyle(WebBrowserHelper.SelectionStyle.Selected);
                    this.ctlInEditMode.SetEditMode(WebBrowserHelper.AXEditMode.None);
                }
                if (aXHost == null)
                {
                    this.ctlInEditMode = null;
                }
                else if (!aXHost.IsUserMode)
                {
                    this.ctlInEditMode = aXHost;
                    aXHost.SetEditMode(WebBrowserHelper.AXEditMode.Object);
                    aXHost.AddSelectionHandler();
                    aXHost.SetSelectionStyle(WebBrowserHelper.SelectionStyle.Active);
                }
            }
            return(0);
        }
 internal void OnUIActivate(WebBrowserBase site)
 {
     if (this.siteUIActive != site)
     {
         if ((this.siteUIActive != null) && (this.siteUIActive != site))
         {
             this.siteUIActive.AXInPlaceObject.UIDeactivate();
         }
         site.AddSelectionHandler();
         this.siteUIActive = site;
         ContainerControl containingControl = site.ContainingControl;
         if ((containingControl != null) && containingControl.Contains(site))
         {
             containingControl.SetActiveControlInternal(site);
         }
     }
 }
 internal void OnUIActivate(WebBrowserBase site)
 {
     if (this.siteUIActive != site)
     {
         if ((this.siteUIActive != null) && (this.siteUIActive != site))
         {
             this.siteUIActive.AXInPlaceObject.UIDeactivate();
         }
         site.AddSelectionHandler();
         this.siteUIActive = site;
         ContainerControl containingControl = site.ContainingControl;
         if ((containingControl != null) && containingControl.Contains(site))
         {
             containingControl.SetActiveControlInternal(site);
         }
     }
 }
Пример #7
0
        internal void OnUIActivate(WebBrowserBase site) {
            // The ShDocVw control repeatedly calls OnUIActivate() with the same
            // site. This causes the assert below to fire.
            //
            if (siteUIActive == site)
                return;

            if (siteUIActive != null && siteUIActive != site) {
                WebBrowserBase tempSite = siteUIActive;
                tempSite.AXInPlaceObject.UIDeactivate();
            }
            site.AddSelectionHandler();
            Debug.Assert(siteUIActive == null, "Object did not call OnUIDeactivate");
            siteUIActive = site;
            ContainerControl f = site.ContainingControl;
            if (f != null && f.Contains(site)) {
                f.SetActiveControlInternal(site);
            }
        }