当前位置:知识库 / C#开发 / 详情
当前选择实体发生变化调用事件。
当前选择实体发生变化调用事件。
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));

            }
        }
相关问题
如何绘制一个图象标记对象?
如何绘制一个对齐标注?
如何从二制流数据中加载图形?
如何保存DWG文件,可以设置保存的文件版本号和
如何向控件注册一个命令?
如何绘一个文字自动剧中的标注 ?
在c#中如何创建组?
如何绘制多行文字?
如何动态绘制样条线?
怎么动态绘制多段线?
梦想CAD是专业的CAD插件(控件),可轻松在网页、手机及BS/CS程序中浏览编辑DWG文件,不需安装AutoCAD即可运行。经十余年累积已非常稳定可靠,有关键的空间搜索算法,并使用汇编优化,可同时处理50万级实体,有非常高的图形显示和处理效率。
联系我们
TEL:400-888-5703
185-8173-1060
客服I QQ: 3570505660
技术I QQ: 827867134
技术II QQ:6884123
VIP服务购买
销售TEL:156-8136-8971
销售QQ:710714273
用户交流
控件QQ交流群1:73281982
控件QQ交流群2:112199959
MxCAD软件群 1:515771658
技术I:QQ
827867134
客服I:QQ
3570505660
销售QQ
710714273
联系电话400-888-5703