private void MyCtor(Control parent) { _mono = Type.GetType("Mono.Runtime") != null; this.Parent = parent; SetStyle(ControlStyles.AllPaintingInWmPaint, true); Console.WriteLine("can enable ime:" + this.CanEnableIme); this.ImeMode = ImeMode.On; lifeSpanHandler = new CfxLifeSpanHandler(); lifeSpanHandler.OnAfterCreated += lifeSpanHandler_OnAfterCreated; renderHandler = new CfxRenderHandler(); renderHandler.GetRootScreenRect += renderHandler_GetRootScreenRect; renderHandler.GetScreenInfo += renderHandler_GetScreenInfo; renderHandler.GetScreenPoint += renderHandler_GetScreenPoint; renderHandler.GetViewRect += renderHandler_GetViewRect; renderHandler.OnCursorChange += renderHandler_OnCursorChange; renderHandler.OnPaint += renderHandler_OnPaint; //renderHandler.OnPopupShow += renderHandler_OnPopupShow; //renderHandler.OnPopupSize += renderHandler_OnPopupSize; //renderHandler.OnScrollOffsetChanged += renderHandler_OnScrollOffsetChanged; //renderHandler.StartDragging += renderHandler_StartDragging; //renderHandler.UpdateDragCursor += renderHandler_UpdateDragCursor; loadHandler = new CfxLoadHandler(); loadHandler.OnLoadError += loadHandler_OnLoadError; keyboardHandler = new CfxKeyboardHandler(); keyboardHandler.OnPreKeyEvent += KeyboardHandler_OnPreKeyEvent; client = new CfxClient(); client.GetLifeSpanHandler += (sender, e) => e.SetReturnValue(lifeSpanHandler); client.GetRenderHandler += (sender, e) => e.SetReturnValue(renderHandler); client.GetLoadHandler += (sender, e) => e.SetReturnValue(loadHandler); client.GetKeyboardHandler += (sender, e) => e.SetReturnValue(keyboardHandler); var settings = new CfxBrowserSettings(); var windowInfo = new CfxWindowInfo(); windowInfo.SetAsWindowless(this.Parent.Handle); //windowInfo.SetAsWindowless(this.Parent.Handle); // Create handle now for InvokeRequired to work properly // CreateHandle(); if (string.IsNullOrEmpty(initialUrl)) { initialUrl = "about:version"; } CfxBrowserHost.CreateBrowser(windowInfo, client, initialUrl, settings, null); }
private void MyCtor(Control parent) { _mono = Type.GetType("Mono.Runtime") != null; this.Parent = parent; //SetStyle( // ControlStyles.ResizeRedraw // | ControlStyles.FixedWidth // | ControlStyles.FixedHeight // | ControlStyles.StandardClick // | ControlStyles.StandardDoubleClick // | ControlStyles.UserMouse // | ControlStyles.SupportsTransparentBackColor // | ControlStyles.DoubleBuffer // | ControlStyles.OptimizedDoubleBuffer // | ControlStyles.Opaque // , false); SetStyle(ControlStyles.AllPaintingInWmPaint, true); Console.WriteLine("can enable ime:" + this.CanEnableIme); this.ImeMode = ImeMode.On; client = new BrowserClient(this); //client.GetLifeSpanHandler += (sender, e) => e.SetReturnValue(lifeSpanHandler); //client.GetRenderHandler += (sender, e) => e.SetReturnValue(renderHandler); //client.GetLoadHandler += (sender, e) => e.SetReturnValue(loadHandler); //client.GetKeyboardHandler += (sender, e) => e.SetReturnValue(keyboardHandler); //lifeSpanHandler = new CfxLifeSpanHandler(); //lifeSpanHandler.OnAfterCreated += lifeSpanHandler_OnAfterCreated; renderHandler = client.RenderHandler;// new CfxRenderHandler(); renderHandler.GetRootScreenRect += renderHandler_GetRootScreenRect; renderHandler.GetScreenInfo += renderHandler_GetScreenInfo; renderHandler.GetScreenPoint += renderHandler_GetScreenPoint; renderHandler.GetViewRect += renderHandler_GetViewRect; renderHandler.OnCursorChange += renderHandler_OnCursorChange; renderHandler.OnPaint += renderHandler_OnPaint; //renderHandler.OnPopupShow += renderHandler_OnPopupShow; //renderHandler.OnPopupSize += renderHandler_OnPopupSize; //renderHandler.OnScrollOffsetChanged += renderHandler_OnScrollOffsetChanged; //renderHandler.StartDragging += renderHandler_StartDragging; //renderHandler.UpdateDragCursor += renderHandler_UpdateDragCursor; loadHandler = client.LoadHandler;// new CfxLoadHandler(); loadHandler.OnLoadError += loadHandler_OnLoadError; keyboardHandler = new CfxKeyboardHandler(); keyboardHandler.OnPreKeyEvent += KeyboardHandler_OnPreKeyEvent; lifeSpanHandler = client.lifeSpanHandler; lifeSpanHandler.OnAfterCreated += lifeSpanHandler_OnAfterCreated; var settings = new CfxBrowserSettings(); var windowInfo = new CfxWindowInfo(); if (CfxRuntime.PlatformOS == CfxPlatformOS.Windows) { windowInfo.SetAsWindowless(this.Parent.Handle); } else { windowInfo.SetAsWindowless(this.Parent.Handle); } //windowInfo.SetAsWindowless(this.Parent.Handle); // Create handle now for InvokeRequired to work properly // CreateHandle(); if (string.IsNullOrEmpty(initialUrl)) { initialUrl = "about:version"; } GlobalObject = new JSObject(); GlobalObject.SetBrowser("window", this); // CreateHandle(); // CfxBrowserHost.CreateBrowser(windowInfo, client, "about:blank", settings, null); //Browser = CfxBrowserHost.CreateBrowserSync(windowInfo, client, initialUrl, settings, null); //if (!CfxBrowserHost.CreateBrowser(windowInfo, client, initialUrl, settings, null)) // throw new ChromiumWebBrowserException("Failed to create browser instance."); CfxBrowserHost.CreateBrowser(windowInfo, client, initialUrl, settings, null); }
public BrowserControl(Control parent) { _mono = Type.GetType("Mono.Runtime") != null; this.Parent = parent; SetStyle(ControlStyles.AllPaintingInWmPaint, true); Console.WriteLine("can enable ime:" + this.CanEnableIme); this.ImeMode = ImeMode.On; lifeSpanHandler = new CfxLifeSpanHandler(); lifeSpanHandler.OnAfterCreated += lifeSpanHandler_OnAfterCreated; renderHandler = new CfxRenderHandler(); renderHandler.GetRootScreenRect += renderHandler_GetRootScreenRect; renderHandler.GetScreenInfo += renderHandler_GetScreenInfo; renderHandler.GetScreenPoint += renderHandler_GetScreenPoint; renderHandler.GetViewRect += renderHandler_GetViewRect; renderHandler.OnCursorChange += renderHandler_OnCursorChange; renderHandler.OnPaint += renderHandler_OnPaint; //renderHandler.OnPopupShow += renderHandler_OnPopupShow; //renderHandler.OnPopupSize += renderHandler_OnPopupSize; //renderHandler.OnScrollOffsetChanged += renderHandler_OnScrollOffsetChanged; //renderHandler.StartDragging += renderHandler_StartDragging; //renderHandler.UpdateDragCursor += renderHandler_UpdateDragCursor; loadHandler = new CfxLoadHandler(); loadHandler.OnLoadError += loadHandler_OnLoadError; keyboardHandler = new CfxKeyboardHandler(); keyboardHandler.OnPreKeyEvent += KeyboardHandler_OnPreKeyEvent; client = new CfxClient(); client.GetLifeSpanHandler += (sender, e) => e.SetReturnValue(lifeSpanHandler); client.GetRenderHandler += (sender, e) => e.SetReturnValue(renderHandler); client.GetLoadHandler += (sender, e) => e.SetReturnValue(loadHandler); client.GetKeyboardHandler += (sender, e) => e.SetReturnValue(keyboardHandler); var settings = new CfxBrowserSettings(); var windowInfo = new CfxWindowInfo(); windowInfo.SetAsWindowless(this.Handle); //windowInfo.SetAsWindowless(this.Parent.Handle); // Create handle now for InvokeRequired to work properly // CreateHandle(); // CfxBrowserHost.CreateBrowser(windowInfo, client, "about:blank", settings, null); //browser = CfxBrowserHost.CreateBrowserSync(windowInfo, client, "about:blank", settings, null); if (!CfxBrowserHost.CreateBrowser(windowInfo, client, "about:blank", settings, null)) { throw new ChromiumWebBrowserException("Failed to create browser instance."); } }