ArcEngine中设置添加图层的图例显示为水平一行的样式的方法
IMap map = Workbench.MapControl.Map;
if (map != null)
{
GMap gMap = new GMap(map);
if (gMap.GetLayerByName("变更地块").Length <= 0)
{
GFeatureClass fc_bgdk =GDBWorkspace.G_BGDK;
IFeatureLayer fl = new FeatureLayerClass();
fl.FeatureClass = fc_bgdk.Owner;
fl.Name = "变更地块";
(fl as ILayerEffects).Transparency = 30;
(fl as IFeatureLayerDefinition2).DefinitionExpression = "BGXLH='" +bgxlh+ "'"; ;
//
IGeoFeatureLayer gFeatureLayer = fl as IGeoFeatureLayer;
UniqueValueRendererClass render = new UniqueValueRendererClass();
render.DefaultSymbol = this.GetFillSymbol(Color.FromArgb(163, 255, 115), 1.4, Color.FromArgb(255, 0, 0)) as ISymbol;
render.DefaultLabel = "未知";
render.UseDefaultSymbol = true;
render.FieldCount = 1;
render.set_Field(0, "BGBZ");
render.AddValue("N", "", this.GetFillSymbol(Color.FromArgb(115, 178, 255), 1.4, Color.FromArgb(255, 0, 0)) as ISymbol); //"新增"
render.AddValue("S", "", this.GetFillSymbol(Color.FromArgb(178, 178, 178), 1.4, Color.FromArgb(255, 0, 0)) as ISymbol); //保留
render.AddValue("D", "", this.GetFillSymbol(Color.FromArgb(255, 127, 127), 1.4, Color.FromArgb(255, 0, 0)) as ISymbol);
render.set_Label("N", "N新增");
render.set_Label("S", "S保留");
render.set_Label("D", "D删除");
gFeatureLayer.Renderer = render as IFeatureRenderer;
//
map.AddLayer(fl);
}
}