使用cef加载页面,移动窗口后选项的位置并不会变化,仍保持上次打开的位置。

CEF中select选项错位的解决方法

经过google查找到这是一个已经解决了的问题:https://bitbucket.org/chromiumembedded/cef/issue/1208/combobox-drop-down-menu-is-displaced

后续版本的cef加入了 CefBrowserHost::NotifyMoveOrResizeStarted() ,需要在主窗体move里调用此方法。

 

我使用的是cef .NET的包装库chromiumfx,其它库应类似,代码如下

        private static int WM_MOVE = 0x0003;

        protected override void WndProc(ref Message Msg)
        {
            if (Msg.Msg == WM_MOVE)
            {
                if (WebBrowser.BrowserHost != null)
                {
                    WebBrowser.BrowserHost.NotifyMoveOrResizeStarted();
                }
            }
            base.WndProc(ref Msg);
        }

  

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-22
  • 2021-08-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-31
  • 2022-12-23
  • 2022-12-23
  • 2022-03-06
  • 2021-10-04
  • 2021-06-21
  • 2021-08-13
相关资源
相似解决方案