public void InitRendererObject(List <FieldInfo> pFields, IFeatureRenderer pRenderer, esriSymbologyStyleClass _SymbologyStyleClass) { flag = true; m_SymbologyStyleClass = _SymbologyStyleClass; cmbField.Items.AddRange(pFields.ToArray()); IClassBreaksRenderer pBreakRenderer = pRenderer as IClassBreaksRenderer; IClassBreaksUIProperties pUIProp = pBreakRenderer as IClassBreaksUIProperties; if (pUIProp.ColorRamp != "") { cmbColorRamp.Text = pUIProp.ColorRamp; } cmbField.Text = pBreakRenderer.Field; levelInput.Value = pBreakRenderer.BreakCount; minValueInput.Value = 0; maxValueInput.Value = 100; double minBreak = pBreakRenderer.MinimumBreak; minBreak = Math.Round(minBreak, 4); for (int i = 0; i < pBreakRenderer.BreakCount; i++) { ISymbol pSymbol = pBreakRenderer.get_Symbol(i); string label = pBreakRenderer.get_Label(i); double breakValue = pBreakRenderer.get_Break(i); breakValue = Math.Round(breakValue, 4); double lastBreak = 0; if (i == 0) { lastBreak = minBreak; minValueInput.Value = lastBreak; } else { lastBreak = pBreakRenderer.get_Break(i - 1); lastBreak = Math.Round(lastBreak, 4); } if (i == pBreakRenderer.BreakCount - 1) { maxValueInput.Value = breakValue; } listValueItem.SmallImageList.Images.Add("Symbol" + i.ToString(), ModuleCommon.Symbol2Picture(pSymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight));//yjl20110826 add System.Windows.Forms.ListViewItem item = new System.Windows.Forms.ListViewItem(); item.Name = "Item" + i.ToString(); item.Text = ""; item.ImageKey = "Symbol" + i.ToString(); item.Tag = pSymbol; System.Windows.Forms.ListViewItem.ListViewSubItem subItem = new System.Windows.Forms.ListViewItem.ListViewSubItem(); subItem.Name = "Range" + i.ToString(); subItem.Text = (lastBreak == 0 ? "0" : lastBreak.ToString()) + "-" + (breakValue == 0 ? "0" : breakValue.ToString()); subItem.Tag = subItem.Text; item.SubItems.Add(subItem); System.Windows.Forms.ListViewItem.ListViewSubItem subItem1 = new System.Windows.Forms.ListViewItem.ListViewSubItem(); subItem1.Name = "Label" + i.ToString(); subItem1.Text = label; item.SubItems.Add(subItem1); listValueItem.Items.Add(item); } if (pBreakRenderer.BreakCount == 0) { levelInput.Value = 5; labelPreviewFore.Tag = ModuleCommon.CreateSymbol(m_SymbologyStyleClass); } else { labelPreviewFore.Tag = pBreakRenderer.get_Symbol(0); } labelPreviewFore.Image = ModuleCommon.Symbol2Picture(labelPreviewFore.Tag as ISymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight); flag = false; }
public void InitRendererObject(List <FieldInfo> pFields, IFeatureRenderer pRenderer, esriSymbologyStyleClass _SymbologyStyleClass) { flag = true; m_SymbologyStyleClass = _SymbologyStyleClass; cmbField.Items.AddRange(pFields.ToArray()); IClassBreaksRenderer pBreakRenderer = pRenderer as IClassBreaksRenderer; cmbField.Text = pBreakRenderer.Field; levelInput.Value = pBreakRenderer.BreakCount; minSizeInput.Value = 1; maxSizeInput.Value = 10; minValueInput.Value = 0; maxValueInput.Value = 100; double minBreak = pBreakRenderer.MinimumBreak; minBreak = Math.Round(minBreak, 4); for (int i = 0; i < pBreakRenderer.BreakCount; i++) { ISymbol pSymbol = pBreakRenderer.get_Symbol(i); string label = pBreakRenderer.get_Label(i); double breakValue = pBreakRenderer.get_Break(i); breakValue = Math.Round(breakValue, 4); double lastBreak = 0; if (i == 0) { lastBreak = minBreak; double size = ModuleCommon.GetSymbolSize(pSymbol); minSizeInput.Value = size; minValueInput.Value = lastBreak; } else { lastBreak = pBreakRenderer.get_Break(i - 1); lastBreak = Math.Round(lastBreak, 4); } if (i == pBreakRenderer.BreakCount - 1) { double size = ModuleCommon.GetSymbolSize(pSymbol); maxSizeInput.Value = size; maxValueInput.Value = breakValue; } listValueItem.SmallImageList.Images.Add("Symbol" + i.ToString(), ModuleCommon.Symbol2Picture(pSymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight));//yjl20110826 add System.Windows.Forms.ListViewItem item = new System.Windows.Forms.ListViewItem(); item.Name = "Item" + i.ToString(); item.Text = ""; item.ImageKey = "Symbol" + i.ToString(); item.Tag = pSymbol; System.Windows.Forms.ListViewItem.ListViewSubItem subItem = new System.Windows.Forms.ListViewItem.ListViewSubItem(); subItem.Name = "Range" + i.ToString(); subItem.Text = (lastBreak == 0 ? "0" : lastBreak.ToString()) + "-" + (breakValue == 0 ? "0" : breakValue.ToString()); subItem.Tag = subItem.Text; item.SubItems.Add(subItem); System.Windows.Forms.ListViewItem.ListViewSubItem subItem1 = new System.Windows.Forms.ListViewItem.ListViewSubItem(); subItem1.Name = "Label" + i.ToString(); subItem1.Text = label; item.SubItems.Add(subItem1); listValueItem.Items.Add(item); } flag = false; if (pBreakRenderer.BreakCount == 0) { levelInput.Value = 5; switch (m_SymbologyStyleClass) { case esriSymbologyStyleClass.esriStyleClassMarkerSymbols: case esriSymbologyStyleClass.esriStyleClassLineSymbols: labelPreviewFore.Tag = ModuleCommon.CreateSymbol(m_SymbologyStyleClass); break; case esriSymbologyStyleClass.esriStyleClassFillSymbols: labelPreviewFore.Tag = ModuleCommon.CreateSymbol(esriSymbologyStyleClass.esriStyleClassMarkerSymbols); break; } } else { labelPreviewFore.Tag = pBreakRenderer.get_Symbol(0); } labelPreviewFore.Image = ModuleCommon.Symbol2Picture(labelPreviewFore.Tag as ISymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight); if (m_SymbologyStyleClass == esriSymbologyStyleClass.esriStyleClassFillSymbols) { if (pBreakRenderer.BackgroundSymbol == null) { labelPreviewBack.Tag = ModuleCommon.CreateSymbol(esriSymbologyStyleClass.esriStyleClassFillSymbols); } else { labelPreviewBack.Tag = pBreakRenderer.BackgroundSymbol as ISymbol; } labelPreviewBack.Visible = true; labelBackCaption.Visible = true; labelPreviewBack.Image = ModuleCommon.Symbol2Picture(labelPreviewBack.Tag as ISymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight); } else { labelPreviewBack.Tag = null; labelPreviewBack.Visible = false; labelBackCaption.Visible = false; } }