标签:MxCAD开发文档
在网页中引用DWG控件,交互绘图,和响应鼠标点击对象的方法B. 设置命令事件回调函数
document.getElementById("MxDrawXCtrl").ImplementCommandEventFun= DoCommandEventFunc;
C. 设置鼠标事件回调函数
document.getElementById("MxDrawXCtrl").ImplementMouseEventFun= MouseEvent;
D. 在命令事件交互绘制一条直线
该事件将会被,网页中的myclick按钮点击触发,如下:
function myclick()
{
document.getElementById("MxDrawXCtrl").DoCommand(1);
}
下面是绘制直线代码:
function DoCommandEventFunc(iCmd)
{
// 命令事件ID.
if (iCmd == 1)
{
// 得到网页的中的控件对象.
varmxOcx = document.all.item("MxDrawXCtrl");
mxOcx.focus();
varpoint1 = mxOcx.GetPoint(null,"\n 点取开始点:");
if(point1== null)
{
return;
}
varpoint2 = mxOcx.GetPoint(point1,"\n 点取结束点:");
if(point1== null)
{
return;
}
// 绘制一条直线.
mxOcx.DrawLine(point1.x,point1.y,point2.x,point2.y);
}
}
E. 在鼠标事件中得到鼠标点击的对象.
function MouseEvent(dX,dY,lType)
{
// 4是鼠标左键双击
if(lType== 4)
{
// 得到网页的中的控件对象
varaxMxDrawX1 = document.getElementById("MxDrawXCtrl");
// 创建一个选择集对象
varss = axMxDrawX1.CallCustomFunction("Mx_NewSelectionSet","");
// 创建一个点对象
varpt = axMxDrawX1.CallCustomFunction("Mx_NewPoint","");
// 创建一个过滤条件对象
var fil= axMxDrawX1.CallCustomFunction("Mx_NewResbuf","");
// 把鼠标点击坐标,赋值给点对象.
pt.x = dX;
pt.y =dY;
// 在该点处构造选择集.
ss.SelectAtPoint2(pt,fil);
//ss.Coune是选择集中对象数目
if(ss.Count > 0)
{
// 得到选择集中的第一个点对象.
var ent = ss.Item(0);
// 输出信息.
alert("点击了" + ent.ObjectName + "对象");
}
// 取消后面的命令。
axMxDrawX1.SendStringToExecute("");
return1;
}
return 0;
}
标签:MxCAD开发文档
原文地址:http://blog.51cto.com/10455293/2087727