Arcengine IElement 的节点编辑

网上目前找不到这么高端的东西,所以我发表一份;


IElement的编辑用到两个关键接口:IElementEditVertices,ISelectTracker;


首先你得自定义一个 Tool;


在Tool 的 onClick() 中填写代码:

1.首先用IGraphicsContainerSelect 判断是否值选择单个Element,并获取此Element;

2. IElementEditVertices pEleVer=selectEle as IElementEditVertices ;

   pEleVer.MovingVertices=true;  //关键代码

   ISelectTracker pSelectTrc=pEleVer.GetMoveVertivesSelectionTrancker();

   设置:pSelectTrc.Display=m_hookHelper.ActiveView.Display;

              pSelectTrc.Draw() ;//绘制编辑框


在Tool的OnMouseDown() 中写:

    pSelectTrc.onMouseDown();

   onMouseMove,OnMouseUp以此类推;


注:在OnMouseUp 中重新指定selectEle .Getmetry=pSelectTrc.Geometry;

    在OnMouseMove中可根据pSelectTrc.QueryCursor获取鼠标句柄,设置鼠标样式


关于刷新问题,我的处理方法是先UnSelectElement,在LocateElementByEnvelope;



最后你就可以使用这个自定义的Tool来编辑Element节点了!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值