主要用到函数说明:
IMxDrawSelectionSet::Select2
构造选择集. 详细说明如下:
参数
| 说明
|
---|---|
[in] MCAD_McSelect Mode
| 构造选择集方式
|
[in] VARIANT point1
| 构造择择集时需要使用到的点对象
|
[in] VARIANT point2
| 构造择择集时需要使用到的点对象
|
[in,optional] VARIANT filterType
| 构造选择集的过滤数据的类型
|
[in,optional] VARIANT filterData
| 构造选择集的过滤数据
|
可以取如下值
| mcSelectionSetWindow = 0, mcSelectionSetCrossing = 1, mcSelectionSetFence = 2, mcSelectionSetPrevious = 3, mcSelectionSetLast = 4, mcSelectionSetAll = 5, 选择图面上的所有实体 mcSelectionSetWindowPolygon = 6, mcSelectionSetCrossingPolygon = 7, mcSelectionSetUserSelect = 8 mcSelectionImpliedSelectSelect = 9,_I 返回当前图上已经选择的实体
|
JS 中使用如下:
- function SelectAssign() {
- // 实例化一个构造选择集进行过滤, 该类封装了选择集及其处理函数.
- var ss = mxOcx.NewSelectionSet();
- // 构造一个过滤链表
- var spFilte = mxOcx.NewResbuf();
- // "0", 是图层名, 8 是 DXF 码, 代表 "0" 是个图层字符串.
- // 选择 0 层上的实体.
- spFilte.AddStringEx("0", 8);
- // 选择直线或圆弧实体. 5020 是 DXF 码, 代表 "LINE" 是类型字符串.
- spFilte.AddStringEx("LINE,ARC", 5020);
- // 选择红色的实体. 1 为颜色索引值, 代表红色. 62 是 DXF 码, 但 1 是个颜色类型.
- spFilte.AddLongEx(1,62);
- ss.Select2(5,null, null, null,spFilte);
- for (var i = 0; i < ss.Count; i++)
- {
- var ent = ss.Item(i);
- alert(ent.ObjectName);
- }
- }
来源: http://www.bubuko.com/infodetail-3077956.html