代码之家  ›  专栏  ›  技术社区  ›  hkon

在googleearthcomapi中侦听鼠标事件的样板代码

  •  2
  • hkon  · 技术社区  · 16 年前

    有人有线索吗?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Dominic    16 年前

    如果您使用免费的Winforms Geplugin控件库,这并不难-只需遵循以下简单步骤

    您需要告诉web浏览器对象您要侦听mousemove事件

     geWebBrowser.AddEventListener(gePlugin.getGlobe(), "mousemove");
    

    geWebBrowser.KmlEvent += GeWebBrowserKmlEvent;
    
    
    private void GeWebBrowserKmlEvent(object sender, GEEventArgs e)
            {
                // if it is a mouse event
                if (null != sender as IKmlMouseEvent)
                {
                    handleKmlMouseEvents((IKmlMouseEvent)sender, e.Data);
                }
                else
                {
                    MessageBox.Show(GEHelpers.GetTypeFromRcw(sender));
                }
            }
    
     private void handleKmlMouseEvents(IKmlMouseEvent mouseEvent, string action)
            {
                string currentTarget = mouseEvent.getCurrentTarget().getType();
    
                switch (action)
                {
                    case "mousemove":
                        {
                            DoMouseMove(mouseEvent);
                            break;
                        }
    
                    case "click":
                        {
                            DoClick(mouseEvent, currentTarget);
                            break;
                        }
                    case "mousedown":
                        {
                            DoMouseDown(mouseEvent, currentTarget);
                            break;
                        }
                    case "mouseup":
                        {
                            DoMouseUp(mouseEvent);
                            break;
                        }
                }
            }
    
     private void DoMouseMove(IKmlMouseEvent mouseEvent)
     {
    
     }
    
    推荐文章