CEF中select選項錯位的解決方法
使用cef加載頁面,移動窗口后選項的位置并不會變化,仍保持上次打開的位置。

經過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);
}
浙公網安備 33010602011771號