我们控件可以对实体进行一个动画的闪烁,这样可以更方便提示用户。
调用控件函数:TwinkeEnt,StopTwinkeEnt,StopAllTwinkeEnt,SetTwinkeTime,SetTwinkeColor ,实现实体的闪烁控制。
如下代码,让用户在图上选择一个对象,然后闪烁:
// 让用户在图上选择一个对象。 var ent = mxOcx.GetEntity("选择实体"); if (ent == null) return; // 准备闪烁颜色. var colors = mxOcx.NewResbuf(); colors.AddLongEx(255); colors.AddLongEx(65280); mxOcx.SetTwinkeColor(colors); // 设置闪烁间隔的时间 mxOcx.SetTwinkeTime(2000); // 开始闪烁 mxOcx.TwinkeEnt(ent.ObjectID);
控件DrawImageMark函数,在图上绘制一个图片标记,该标记可以是一组的图片组成,如果闪烁这样的图片标记对象,就可以做出一个图片动画效果。
例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //新建一个COM组件对象 参数为COM组件类名 var getPt = mxOcx.NewComObject("IMxDrawUiPrPoint"); getPt.message = "点取图片的插入中点"; if (getPt.go() != 1) { return; } var frstPt = getPt.value(); if (frstPt == null) { return; } //控件程序在磁盘的文件路径 var sImageFile1 = mxOcx.GetOcxAppPath() + "\\1.png"; var sImageFile2 = mxOcx.GetOcxAppPath() + "\\2.png"; var sImageFile3 = mxOcx.GetOcxAppPath() + "\\3.png"; // 绘图制一个图象标记对象 //参数一为绘制位置,是图片的中心点X ;参数二为绘制位置,是图片的中心点Y;参数三为缩放比例;参数四为旋转角度; //参数五为图片显示文件名;参数六为闪烁文件设置;参数七为图片数据是否随图保存 var lId = mxOcx.DrawImageMark(frstPt.x, frstPt.y, -20, 0, sImageFile1, sImageFile1 + "," + sImageFile2 + "," + sImageFile3, true); //闪烁实体 //参数一为被闪烁的实体对象id;参数二为闪烁次数,默认为-1表示不限闪烁次数,成功返回true mxOcx.TwinkeEnt(lId);