ArcGIS改变选择集选中时的样式与颜色

转自:http://m.blog.csdn.net/sx341125/article/details/50286137

1.全局设置颜色

我们知道在ArcMap中我们可以设置选择集的样式,就是设置全局选择集的选中时的颜色,在任务栏选择—》选择选项—》默认情况下显示所选要素所使用的颜色;

对应在 IMxApplication::SelectionEnvironment这个属性,但是IMxApplication只在ArcGIS Desktop桌面开发时可以使用,无论是Map与MapControl并没有SelectionEnvironment这个属性,而ISelectionEnvironment这个接口是可以直接New出来的,是CoClass,所以我们可以ISelectionEnvironment mSelectionEnvironment=new SelectionEnvironmentClass();这个接口的属性之中可以使用DefaultColor对当前的环境进行颜色设置:

<span style="white-space:pre">		</span>mSelectionEnvironment.DefaultColor = pColor;//这个pColor可以使用IColorPalette进行设置
                mApplication.SelectionEnvironment = this.mSelectionEnvironment;
                tagRECT rect=new tagRECT ();
                rect.bottom = 0;
                rect.left = 0;
                rect.right = 5;
                rect.top = 5;
                IEnvelope env = new EnvelopeClass();
                this.mMapControl.ActiveView.ScreenDisplay.DisplayTransformation.TransformRect(env, rect, 4);
                this.mMapControl.Map.SelectByShape(env, mSelectionEnvironment, false);

由于这里不知道当前的选择集范围是什么,所以随机建立一个很小的envelope,然后调用IMap的SelectByShape方法选择一次,即使没有任何效果,但是已经将这个全局的SelectionEnvironment设置到了全局颜色样式中去了!是不是很神奇!!!

2.指定图层颜色设置

有时候就是想将某一个图层的选中集样式与其他的图层不一样,所以有了图层的样式设置将IFeatureLayerQI成IFeatureSelection,这个接口中的属性与方法可以设置当前图层的样式,其中SelectionSymbol可以使用axSymbologyControl进行选择设置,关于这个控件的使用,在Arcgis二次开发的Sample里面有较好的示例代码。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值