直接上源码,供大家一看
''' <summary>
''' 根据某一字段的值用不同的Symbol加以渲染
''' </summary>
''' <param name="pGeoFeatureLayer">渲染的Layer</param>
''' <remarks></remarks>
Private Sub UniqueRender(ByVal pGeoFeatureLayer As IGeoFeatureLayer)
Dim pUniqueRender As IUniqueValueRenderer = New UniqueValueRenderer
Dim pColor As IColor
Dim pCMSymbol As ICharacterMarkerSymbol
Dim pFont As stdole.IFontDisp = New stdole.StdFont
pFont.Name = "ESRI Default Marker"
pColor = New RgbColor
pColor.RGB = RGB(56, 168, 0)
pCMSymbol = New CharacterMarkerSymbol
pCMSymbol.Font = pFont
pCMSymbol.CharacterIndex = 33
pCMSymbol.Color = pColor
pCMSymbol.Size = 10
pUniqueRender.FieldCount = 1
pUniqueRender.Field(0) = g_FieldType
pUniqueRender.DefaultSymbol = pCMSymbol
pUniqueRender.UseDefaultSymbol = True
pColor = New RgbColor
pColor.RGB = RGB(255, 255, 0)
pCMSymbol = New CharacterMarkerSymbol
pCMSymbol.Font = pFont
pCMSymbol.CharacterIndex = 80
pCMSymbol.Color = pColor
pCMSymbol.Size = 20
''添加的不同类型,其中featureclass中必须有与之对应的字段
pUniqueRender.AddValue(2, "Type1", pCMSymbol)
pColor = New RgbColor
pColor.RGB = RGB(85, 255, 0)
pCMSymbol = New CharacterMarkerSymbol
pCMSymbol.Font = pFont
pCMSymbol.CharacterIndex = 88
pCMSymbol.Color = pColor
pCMSymbol.Size = 20
pUniqueRender.AddValue(3, "Type2", pCMSymbol)
pGeoFeatureLayer.Renderer = pUniqueRender
pGeoFeatureLayer.DisplayField = "Type" '用于唯一值渲染的字段名
End Sub
posted on 2008-07-17 10:25
王者之魂 阅读(279)
评论(0) 编辑 收藏