zoukankan      html  css  js  c++  java
  • BaseTool中鼠标双击事件获取鼠标位置的方法

      ArcGISEngine的BaseTool类中提供了鼠标双击、鼠标移动、鼠标按键按下、鼠标按键弹起四种鼠标事件,但是鼠标双击事件的参数跟其他三种不一样,双击事件中没有提供鼠标位置信息。

      public virtual void OnDblClick();

      public virtual void OnMouseDown(int Button, int Shift, int X, int Y);

      public virtual void OnMouseMove(int Button, int Shift, int X, int Y);

      public virtual void OnMouseUp(int Button, int Shift, int X, int Y);

      今天在重载双击事件的时候,为了获取鼠标双击在制图页面的位置,找了好多的资料,最后想到了一种解决办法。

      1、先获取鼠标在屏幕中的位置,Control.MousePosition

      2、将绝对的屏幕坐标转换为相对于PageLayoutControl的屏幕坐标,AxPageLayoutControl.PointToClient(Control.MousePosition),注意,只有AxPageLayoutControl有这个函数,PageLayoutControl没有转换函数。这一步已经就可以用了,但是如果想获得鼠标在PageLayoutControl的页面坐标,还需要第三步。

      3、将屏幕坐标转换为制图页面坐标,PageLayoutControl.ToPagePoint(pt.X, pt.Y)

  • 相关阅读:
    JS
    JS
    JS
    VUE
    element-ui 进入页面 message 自动触发的问题
    JS-数组中常用的方法
    CSS-transition简单过渡动画
    vue
    JS
    2021要买的书籍
  • 原文地址:https://www.cnblogs.com/SpaceOfTime/p/4203844.html
Copyright © 2011-2022 走看看