当前选择实体发生变化调用事件。
C#开发|黄洪辉|2018-06-14 10:36
-
回答:
主要用到函数说明:
_DMxDrawXEvents::SelectModified
当前选择实体发生变化,会调用该事件,详细说明如下:
参数 说明 IDispatch* pAryId
当前被选择的实体lId,是一个实体lid链表
IDispatch* pModifyId
本次发生变化的对象id数组
VARIANT_BOOL isAdd
aryModifyId的对象,是新加入到选择集,还是删除
c#代码实现如下:
private void axMxDrawX1_SelectModified(object sender, AxMxDrawXLib._DMxDrawXEvents_SelectModifiedEvent e) { MxDrawResbuf aryId = (MxDrawResbuf)e.pAryId; int iCount = aryId.Count; for (int i = 0; i < iCount; i++) { // 得到当前,被选中的实体. Int64 id = aryId.AtObjectId(i); } // 得到选择时的,鼠标坐标点. MxDrawResbuf param = (MxDrawResbuf)axMxDrawX1.CustomEventParam(); if (param.Count >= 2) { MxDrawPoint pt1 = param.AtPoint(0); MxDrawPoint pt2 = param.AtPoint(1); MessageBox.Show(String.Format("pt1:{0:N3},{1:N3},pt2:{2:N3},{3:N3}", pt1.x, pt1.y, pt2.x, pt2.y)); } }