如何屏蔽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="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定義的無效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM