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

使用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);
}

  

上一篇:长距离单历元非差GNSS网络RTK理论与方法总结(未完)


下一篇:【转】【译】JavaScript魔法揭秘--探索当前流行框架中部分功能的处理机制