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

  • 相关阅读:
    Github 上 36 个最实用的 Vue 开源库
    C 语言快速入门,21 个小项目足矣!「不走弯路就是捷径」
    18个挑战项目带你快速入门深度学习
    Linux 运维入门到跑路书单推荐
    Python 网络爬虫的常用库汇总
    45 个常用Linux 命令,让你轻松玩转Linux!
    [新手必备]Python 基础入门必学知识点笔记
    快速入门 Python 数据分析实用指南
    18位不重复订单号
    相对路径转绝对路径
  • 原文地址:https://www.cnblogs.com/yitianhe/p/4111474.html
Copyright © 2011-2022 走看看