CAD控件的鼠标事件(网页版)

_DMxDrawXEvents::MouseEvent


CAD控件中的鼠标事件。


参数 说明

LONG lType

事件类型,1鼠标移动,2是鼠标左键按下,3是鼠标右键按下,4是鼠标左键双击 5是鼠标左键释放 6是鼠标右键释放 7是鼠标中键按下 8是鼠标中键释放 9是鼠标中键双击 10是鼠标中键滚动

DOUBLE dX

事件发生时的鼠标X坐标,文档坐标

DOUBLE dY

事件发生时的鼠标Y坐标,文档坐标

LONG* lRet

lRet 返回非0,消息将不在往下传递


提示鼠标双击下被点击的实体js代码:


function MouseEvent(dX,dY,lType)
{    if(lType == 4)
    {
              
        var mxOcx = document.getElementById("MxDrawXCtrl");
        var ss = mxOcx.Call("Mx_NewSelectionSet","");
        var pt = mxOcx.Call("Mx_NewPoint","");
                var fil = mxOcx.Call("Mx_NewResbuf","");
        pt.x = dX;
                pt.y = dY;
               
                ss.SelectAtPoint2(pt,fil);        
            if(ss.Count > 0)
                {
                    var ent = ss.Item(0);
                    alert("点击了" + ent.ObjectName + "对象");
                }
        // 取消后面的命令。
            mxOcx.SendStringToExecute("");
        return 1;
       
        }
    
      
    return 0;
}


响应鼠标点击图片对象js代码:


var draw = document.getElementById("MxDrawXCtrl");
      draw.ImplementMouseEventFun = function MouseEvent(dX, dY, lType) { 
             if(lType == 2)
                {    
                  // 鼠标左键按下
        
                   // dTol是搜索范围,50是屏幕像素.
                    var dTol = 50;        
                    // 临时修改CursorWidth的大小,用FindEntAtPoint函数确定搜索范围.
                   var bak = draw.CursorWidth;
                    draw.CursorWidth = dTol;        
                    // 搜索过滤条件,只选择图片.
                    var filter = draw.NewResbuf();        
                    // MxImageMark是图片对象的DXF组码名称,5020在DXF组码,代表MxImageMark是对象类型.
                    filter.AddStringEx("MxImageMark",5020);        
                     // 查找鼠标点击的实体。                        
                     var ent = draw.FindEntAtPoint(dX,dY,filter);        
                      // 恢复光标拾取框的大小.
                        draw.CursorWidth = bak;                       
                         if(ent != null)
                        {
        
                            alert("点击了一个图片");
                            // 设置1,表示鼠标事件,不再往下传递.
                            mxOcx.SetEventRet(1);
                        }
        
                        //
        
        
                    };
                };


上一篇:递归与分形(二)--谢尔斯宾三角形,谢尔斯宾地毯,门格海绵


下一篇:练手WPF(三)——扫雷小游戏的简易实现(下)