首页 > 代码库 > 如何屏蔽SkylineGlobe提供的三维地图控件上的快捷键
如何屏蔽SkylineGlobe提供的三维地图控件上的快捷键
SkyllineGlobe提供的
<OBJECT ID=" TerraExplorer3DWindow" CLASSID="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" width=500 height=400></OBJECT>
可以用来加载显示FLY格式的三维地图工程,可以嵌入到HTML页面中。
这个三维地图控件里,封装了在TerraExplorer中的一些快捷键,比如控制方向的"Q/W/A/S/Z/X/Home/Pgup/PgDn/End"等等,
但如果我们想重新定义一些快捷键,那么,首先该如何屏蔽原来的这些快捷键或者如何捕获到键盘触发的事件函数呢?
请看下面的示例代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <script type="text/javascript" language="javascript"> function Test() { var TE3DWindow = window.document.getElementById("TE3DWindow"); //TE3DWindow.attachEvent("OnKeyboardMessage", OnKeyboardMessage); } function OnKeyboardMessage(Message, KeyCode, KeyData, bHandled) { bHandled = true; //return true; } </script> <script language="VBSCRIPT">Sub TE3DWindow_OnKeyboardMessage(Message, KeyCode, KeyData,bHandled) msgbox KeyData bHandled = true ‘Indicate that the client handled the event. end sub </script></head><body style="margin: 0px; border: 0px;"> <div> <table cellpadding="0" cellspacing="0" style="width: 100%; height: 100%; margin: 0px; border: 0px;"> <tr> <td> <input id="Button1" type="button" value="http://www.mamicode.com/button" onclick="Test()" /> </td> </tr> <tr> <td> <object id="TE3DWindow" classid="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" width="400" height="400"> </object> </td> </tr> </table> </div></body></html>
上面的代码中,主要用到了 OnKeyboardMessage 这个事件函数,大家需要注意的是:
这个事件函数是定义到 TE3DWindow 对象的,而不是常用的SGWorld对象;
这个方法需要通过VBS来定义,JS定义的无效。
如何屏蔽SkylineGlobe提供的三维地图控件上的快捷键
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。