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定义的无效。

  • 相关阅读:
    洛谷 1850 NOIP2016提高组 换教室
    2018牛客多校第三场 C.Shuffle Cards
    2018牛客多校第一场 B.Symmetric Matrix
    2018牛客多校第一场 A.Monotonic Matrix
    2018牛客多校第一场 D.Two Graphs
    2018宁夏邀请赛L Continuous Intervals
    2018宁夏邀请赛K Vertex Covers
    BZOJ
    HDU
    ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (ECPC 2015)
  • 原文地址:https://www.cnblogs.com/yitianhe/p/4111474.html
Copyright © 2011-2022 走看看