c# - ol3 with Embedded IE11 WebBrowser control(WPF), Mouse click events is not working -
i using webbrowser control in wpf application render open street maps(osm) using ol3(openlayers3). works fine in ie11 browser mouse events not work in embedded ie11 webbrowser control. if make webbrowser emulate ie10, mouse events fired 3d view (cesium) not work.
i using http://openlayers.org/ol3-cesium/examples/main.html example. hosting locally on python server , rendering in webbrowser control. run webgl , cesium have modified feature_browser_emulation key 11000 , feature_gpu_rendering key 1 of .exe
i want use ie11 need render 3d globe view of map using ol3-cesium. mouse click events work fine in 3d globe view, when disable 3d view , enable 2d view, mouse events not fire. not sure if missing change in registry.
i followed ol3 ie11 in c# webbrowser control mouse click events not working not satisfied answer. recommending use chromium few events not work ie11. if 3d globe view allowing events fire why not 2d in ol3. please help.
in registry, turn on feature_gpu_rendering
, , turn off compatibility mode setting feature_browser_emulation
0.
this code worked me. answers found suggested setting feature_browser_emulation
latest ie version on machine never worked cesium. setting 0, i.e. turning off compatibility mode did work.
internal static void setbrowserfeaturestosupportgpu() { // featurecontrol settings per-process var filename = system.io.path.getfilename( process.getcurrentprocess( ).mainmodule.filename ); setbrowserfeaturecontrolkey( "feature_96dpi_pixel", filename, 1) ; // enable hi-dpi support setbrowserfeaturecontrolkey( "feature_browser_emulation", filename, 00000) ; // turn off compatibility mode. setbrowserfeaturecontrolkey( "feature_ajax_connectionevents", filename, 1) ; setbrowserfeaturecontrolkey( "feature_enable_clipchildren_optimization", filename, 1) ; setbrowserfeaturecontrolkey( "feature_gpu_rendering", filename, 1) ; // use gpu rendering setbrowserfeaturecontrolkey( "feature_iviewobjectdraw_dmlt9_with_gdi ", filename, 0) ; // force directx setbrowserfeaturecontrolkey( "feature_ninput_legacymode", filename, 0) ; setbrowserfeaturecontrolkey( "feature_disable_navigation_sounds", filename, 1) ; setbrowserfeaturecontrolkey( "feature_scripturl_mitigation", filename, 1) ; setbrowserfeaturecontrolkey( "feature_spellchecking", filename, 0) ; setbrowserfeaturecontrolkey( "feature_status_bar_throttling", filename, 1) ; setbrowserfeaturecontrolkey( "feature_validate_navigate_url", filename, 1) ; setbrowserfeaturecontrolkey( "feature_weboc_document_zoom", filename, 1) ; // allow zoom. setbrowserfeaturecontrolkey( "feature_weboc_popupmanagement", filename, 0) ; // disallow auto-popups setbrowserfeaturecontrolkey( "feature_addon_management", filename, 0) ; // disallow auto-addons/plugins setbrowserfeaturecontrolkey( "feature_websocket", filename, 1) ; setbrowserfeaturecontrolkey( "feature_window_restrictions", filename, 0) ; // disallow popups } internal static void setbrowserfeaturecontrolkey( string feature, string appname, uint value ) { using ( var key = registry.currentuser.createsubkey( string.concat( @"software\microsoft\internet explorer\main\featurecontrol\", feature ), registrykeypermissioncheck.readwritesubtree ) ) { key.setvalue( appname, ( uint32 ) value, registryvaluekind.dword ); } }
Comments
Post a Comment