zoukankan      html  css  js  c++  java
  • 如何屏蔽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=" 100%; height: 100%; margin: 0px;
                border: 0px;">
                <tr>
                    <td>
                        <input id="Button1" type="button" value="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定义的无效。

  • 相关阅读:
    第2章 面试流程
    py面试指导系列-第1章 py服务端工程师面试指导
    十月的第一天
    I shall return
    k8S
    Eclipse编辑器基本设置
    Windows 下有什么软件能够极大地提高工作效率
    Bootstrap 轻量级后台管理系统模板--ACE使用介绍
    2014年将会受欢迎的IT技能--你有多少哪?
    面向程序员的数据库访问性能优化法则
  • 原文地址:https://www.cnblogs.com/yitianhe/p/4111474.html
Copyright © 2011-2022 走看看