[MSCE C#]DgnPrimitiveTool中如何判断鼠标移出视图

在DgnPrimitiveTool有没有类似C#窗口的OnMouseLeave事件,当鼠标移出当前视图时触发的

Parents Reply
  • 感谢2位老师的帮助,后来我尝试在Application中加Bentley.Interop.MicroStationDGN.IEnterIdleEvent这个事件,解决了需求,主要思路是在Tool安装后将EnterIdle事件加入到Application,然后监听到该事件后,判断当前鼠标位置是否在视图范围内,核心功能代码如下:

    DPoint3d point = new DPoint3d();
    DigitalStationLibrary.dslib_GetCursorGlobalPosition(ref point);

    int left = 0, bottom = 0, right = 0, top = 0;
    DigitalStationLibrary.dslib_GetViewWindowGlobalPosition(mViewport.ViewNumber, ref left, ref bottom, ref right, ref top);

    if (point.X < left || point.X > right || point.Y < top || point.Y > bottom)
    {
          mParamForm.Hide();
    }

    其中DigitalStationLibrary.dslib_GetCursorGlobalPosition和DigitalStationLibrary.dslib_GetViewWindowGlobalPosition是用C++封装的mdl函数

Children
No Data