亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mod_symbol.bas

?? arcengine+vb開發原碼
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
    Set tempFeatureLayer = m_pCurrentLayer

    If (tempFeatureLayer.FeatureClass.ShapeType = esriGeometryPoint) Then
        Call PointSymbol(tempFeatureLayer, color)
    ElseIf (tempFeatureLayer.FeatureClass.ShapeType = esriGeometryPolyline) Then
        Call LineSymbol(tempFeatureLayer, color)
    ElseIf (tempFeatureLayer.FeatureClass.ShapeType = esriGeometryPolygon) Then
        Call PolygonSymbol(tempFeatureLayer, color)
    End If
    
    'frmTOC.TOCControl.Update
End Sub

'輸入:red、green、blue的顏色號,取值在0-255之間
'輸出:rgbcolor
'功能:根據顏色號獲取irgbcolor
'時間:2005.1.30
'源人:tjh
'更新:
Private Function GetRGBColor(yourRed As Long, yourGreen As Long, yourBlue As Long) As IRgbColor
  Dim pRGB As IRgbColor
  
  Set pRGB = New RgbColor
  With pRGB
    .Red = yourRed
    .Green = yourGreen
    .Blue = yourBlue
    .UseWindowsDithering = True
  End With
  Set GetRGBColor = pRGB
 '需要釋放pRGB嗎?
End Function
Private Sub PointSymbol(ByVal currentLayer As IGeoFeatureLayer, ByVal color As Long)
    '控制點圖層的簡單符號
    Dim pMarkLayer As IGeoFeatureLayer
    Dim pSimpleRenderer As ISimpleRenderer
    Dim pSimpleMarkerSymbol As ISimpleMarkerSymbol
    Dim pRgbColor As IRgbColor
    
    Set pMarkLayer = currentLayer
    Set pSimpleRenderer = New SimpleRenderer
    Set pSimpleMarkerSymbol = New SimpleMarkerSymbol
    
    '////////待考慮
    Set pRgbColor = New RgbColor
    pRgbColor.RGB = color
   
    With pSimpleMarkerSymbol
        .color = pRgbColor
        .SIZE = 10
        .Style = esriSMSCircle
    End With
    '////////待考慮
    
    Set pSimpleRenderer.Symbol = pSimpleMarkerSymbol
    
    Set pMarkLayer.Renderer = pSimpleRenderer
    
    '可以提到窗體中實現 ?
    frmMapControl.arcMapControl.Refresh
    
    Set pRgbColor = Nothing
    Set pSimpleMarkerSymbol = Nothing
    Set pSimpleRenderer = Nothing
    Set pMarkLayer = Nothing
End Sub
Private Sub LineSymbol(ByVal currentLayer As IGeoFeatureLayer, ByVal color As Long)
    '控制線圖層的簡單符號
    Dim pLineLayer As IGeoFeatureLayer
    Dim pSimpleRenderer As ISimpleRenderer
    Dim pSimpleLineSymbol As ISimpleLineSymbol
    Dim pRgbColor As IRgbColor
    
    Set pLineLayer = currentLayer
    Set pSimpleRenderer = New SimpleRenderer
    Set pSimpleLineSymbol = New SimpleLineSymbol
    Set pRgbColor = New RgbColor
    pRgbColor.RGB = color
    
    '////////待考慮
    With pSimpleLineSymbol
        .color = pRgbColor
        .Width = 2
        .Style = esriSLSDashDotDot
    End With
    '////////待考慮
    
    Set pSimpleRenderer.Symbol = pSimpleLineSymbol
    
    Set pLineLayer.Renderer = pSimpleRenderer
    
    '可以提到窗體中實現 ?
    frmMapControl.arcMapControl.Refresh
    
    Set pRgbColor = Nothing
    Set pSimpleLineSymbol = Nothing
    Set pSimpleRenderer = Nothing
    Set pLineLayer = Nothing
End Sub

Private Sub PolygonSymbol(ByVal currentLayer As IGeoFeatureLayer, ByVal color As Long)
    '控制面圖層的簡單符號
    Dim pFillLayer As IGeoFeatureLayer
    Dim pSimpleRenderer As ISimpleRenderer
    Dim pSimpleFillSymbol As ISimpleFillSymbol
    Dim pRgbColor As IRgbColor
    
    Set pFillLayer = currentLayer
    Set pSimpleRenderer = New SimpleRenderer
    Set pSimpleFillSymbol = New SimpleFillSymbol
    Set pRgbColor = New RgbColor
    pRgbColor.RGB = color
    
    '////////待考慮
    With pSimpleFillSymbol
        .color = pRgbColor
        .Style = esriSFSDiagonalCross
    End With
    '////////待考慮
    
    Set pSimpleRenderer.Symbol = pSimpleFillSymbol
    Set pFillLayer.Renderer = pSimpleRenderer
    
    '可以提到窗體中實現 ?
    frmMapControl.arcMapControl.Refresh
    
    Set pRgbColor = Nothing
    Set pSimpleFillSymbol = Nothing
    Set pSimpleRenderer = Nothing
    Set pFillLayer = Nothing
End Sub

Public Sub UniqueValueSymbol(m_pGeoFeatureLayer As IGeoFeatureLayer, strNameField As String)
    Dim pUniqueValueRenderer As IUniqueValueRenderer
    Dim pSym As IFillSymbol
    Dim pColor As IColor
    Dim pNextUniqueColor As IColor
    Dim pEnumRamp As IEnumColors
    Dim pTable As ITable
    Dim fieldNumber As Long
    Dim pNextRow As IRow
    Dim pNextRowBuffer As IRowBuffer
    Dim pCursor As ICursor
    Dim pQueryFilter As IQueryFilter
    Dim codeValue As Variant

    Set pUniqueValueRenderer = New UniqueValueRenderer
    Set pTable = m_pGeoFeatureLayer
    fieldNumber = pTable.FindField(strNameField)
    If fieldNumber = -1 Then
        MsgBox "Can't find field called " & strNameField
    Exit Sub
    End If

    pUniqueValueRenderer.FieldCount = 1
    pUniqueValueRenderer.Field(0) = strNameField
    
    '//////為了通用,考慮將符號從外部傳入
    Dim pColorRamp As IRandomColorRamp
    
    Set pColorRamp = New RandomColorRamp
    '可以根據需要設置RandomColorRamp的設置
    pColorRamp.StartHue = 0
    pColorRamp.MinValue = 99
    pColorRamp.MinSaturation = 15
    pColorRamp.EndHue = 360
    pColorRamp.maxValue = 100
    pColorRamp.MaxSaturation = 30
    pColorRamp.SIZE = 100
    pColorRamp.CreateRamp True
    Set pEnumRamp = pColorRamp.Colors
    Set pNextUniqueColor = Nothing
    
    Set pQueryFilter = New QueryFilter
    pQueryFilter.AddField strNameField
    Set pCursor = pTable.Search(pQueryFilter, True)
    Set pNextRow = pCursor.NextRow
    
    Do While Not pNextRow Is Nothing
        Set pNextRowBuffer = pNextRow
        codeValue = pNextRowBuffer.Value(fieldNumber)
        
        Set pNextUniqueColor = pEnumRamp.Next
        If pNextUniqueColor Is Nothing Then
            pEnumRamp.Reset
            Set pNextUniqueColor = pEnumRamp.Next
        End If
        Set pSym = New SimpleFillSymbol
        pSym.color = pNextUniqueColor
        
        '//////為了通用,考慮將符號從外部傳入
        pUniqueValueRenderer.AddValue codeValue, codeValue, pSym
        
        Set pNextRow = pCursor.NextRow
    Loop

    Set m_pGeoFeatureLayer.Renderer = pUniqueValueRenderer
    Set pSym = Nothing
    Set pColor = Nothing
    Set pNextUniqueColor = Nothing
    Set pEnumRamp = Nothing
    Set pTable = Nothing
    Set pNextRow = Nothing
    Set pNextRowBuffer = Nothing
    Set pCursor = Nothing
    Set pQueryFilter = Nothing
    Set codeValue = Nothing
    
    '可以提到窗體中實現 ?
    frmMapControl.arcMapControl.Refresh
    frmMapControl.arcMapControl.Update
End Sub

Public Sub DotDensitySymbol(m_pGeoFeatureLayer As IGeoFeatureLayer, strNameField As String)
    Dim pDotDensityRenderer As IDotDensityRenderer
    Dim pDotDensityFillSymbol As IDotDensityFillSymbol
    Dim pRendererFields As IRendererFields
    Dim pSymbolArray As ISymbolArray
    
    Set pDotDensityRenderer = New DotDensityRenderer
    Set pRendererFields = pDotDensityRenderer
    pRendererFields.AddField strNameField
    
    Set pDotDensityFillSymbol = New DotDensityFillSymbol
    
    '可以增加DotDensityFillSymbol設置!!!
    pDotDensityFillSymbol.DotSize = 3
    pDotDensityFillSymbol.color = GetRGBColor(0, 0, 0)
    pDotDensityFillSymbol.backgroundColor = GetRGBColor(239, 228, 190) ' color of tan
    
    Dim pMarkerSymbol As ISimpleMarkerSymbol
    
    Set pSymbolArray = pDotDensityFillSymbol
    
    '可以增加DotDensityFillSymbol設置!!
    Set pMarkerSymbol = New SimpleMarkerSymbol
    pMarkerSymbol.Style = esriSMSCircle
    pMarkerSymbol.SIZE = 3
    pMarkerSymbol.color = GetRGBColor(0, 0, 0) ' Black
    pSymbolArray.AddSymbol pMarkerSymbol
    
    Set pDotDensityRenderer.DotDensitySymbol = pDotDensityFillSymbol
    
    pDotDensityRenderer.DotValue = 200000
    Set m_pGeoFeatureLayer.Renderer = pDotDensityRenderer
    
    Set pDotDensityRenderer = Nothing
    Set pDotDensityFillSymbol = Nothing
    Set pRendererFields = Nothing
    Set pSymbolArray = Nothing
    
    '可以提到窗體中實現 ?
    frmMapControl.arcMapControl.Refresh
    frmMapControl.arcMapControl.Update
End Sub

Public Sub PropSymbol(m_pGeoFeatureLayer As IGeoFeatureLayer, strNameField As String)
    Dim pProportionalSymbolRenderer As IProportionalSymbolRenderer
    Dim pTable As ITable
    Dim pQueryFilter As IQueryFilter
    Dim pCursor As ICursor
    Dim pFillSymbol As IFillSymbol
    Dim pSimpleMarkerSymbol As ISimpleMarkerSymbol
    Dim pColor As IColor
    Dim pOutlineColor As IColor
    
    On Error GoTo Err
    Set pTable = m_pGeoFeatureLayer
    Set pQueryFilter = New QueryFilter
    pQueryFilter.AddField strNameField
    Set pCursor = pTable.Search(pQueryFilter, True)
    
    Dim pDataStatistics As IDataStatistics
    Dim pStatisticsResult As IStatisticsResults
    
    Set pDataStatistics = New DataStatistics
    Set pDataStatistics.Cursor = pCursor
    pDataStatistics.Field = strNameField
    
    Set pStatisticsResult = pDataStatistics.Statistics
    If pStatisticsResult Is Nothing Then
        MsgBox "Failed to gather stats on the feature class"
        Exit Sub
    End If
       
    Set pFillSymbol = New SimpleFillSymbol
    pFillSymbol.color = GetRGBColor(239, 228, 190) ' Tan
    
    Set pSimpleMarkerSymbol = New SimpleMarkerSymbol
    With pSimpleMarkerSymbol
        .Style = esriSMSSquare
        .color = GetRGBColor(255, 0, 0) ' Red
        .SIZE = 2
        .Outline = True
        .OutlineColor = GetRGBColor(0, 0, 0) ' Black
    End With
    
    Set pProportionalSymbolRenderer = New ProportionalSymbolRenderer
    With pProportionalSymbolRenderer
        .ValueUnit = esriUnknownUnits
        .Field = strNameField
        .FlanneryCompensation = False
        .MinDataValue = pStatisticsResult.Minimum
        .MaxDataValue = pStatisticsResult.Maximum
        .BackgroundSymbol = pFillSymbol
        .MinSymbol = pSimpleMarkerSymbol
    End With
    
Err:
    Set m_pGeoFeatureLayer.Renderer = pProportionalSymbolRenderer
    Set pProportionalSymbolRenderer = Nothing
    Set pTable = Nothing
    Set pCursor = Nothing
    Set pCursor = Nothing
    Set pFillSymbol = Nothing
    Set pSimpleMarkerSymbol = Nothing
    Set pColor = Nothing
    Set pOutlineColor = Nothing
    
    '可以提到窗體中實現 ?
    frmMapControl.arcMapControl.Refresh
    frmMapControl.arcMapControl.Update

End Sub

Public Sub BarChartSymbol(m_pGeoFeatureLayer As IGeoFeatureLayer, strPopField1 As String, strPopField2 As String)
    Dim pChartRenderer As IChartRenderer
    Dim pRendererFields As IRendererFields
    
    Set pChartRenderer = New ChartRenderer
    
    ' Set up the fields to draw charts of
    Set pRendererFields = pChartRenderer
    pRendererFields.AddField strPopField1
    pRendererFields.FieldAlias(0) = pRendererFields.Field(0)
    pRendererFields.AddField strPopField2
    pRendererFields.FieldAlias(1) = pRendererFields.Field(1)
    
    Dim pTable As ITable
    Dim pCursor As ICursor
    Dim pQueryFilter As IQueryFilter
    Dim pRow As IRowBuffer
    
    Set pTable = m_pGeoFeatureLayer
    Set pQueryFilter = New QueryFilter
    pQueryFilter.AddField strPopField1
    pQueryFilter.AddField strPopField2
    Set pCursor = pTable.Search(pQueryFilter, True)
    
    Const numFields As Long = 2 ' Number of bars
    Dim fieldIndecies(0 To numFields - 1) As Long
    Dim fieldIndex As Long
    Dim maxValue As Double
    Dim firstValue As Boolean
    Dim FieldValue As Double
    
    fieldIndecies(0) = pTable.FindField(strPopField1)
    fieldIndecies(1) = pTable.FindField(strPopField2)
    firstValue = True
    maxValue = 0
    
    ' Iterate across each feature
    Set pRow = pCursor.NextRow
    Do While Not pRow Is Nothing
       For fieldIndex = 0 To numFields - 1
            FieldValue = pRow.Value(fieldIndecies(fieldIndex))
            If firstValue Then
                ' Special case for the first value in a feature class
                maxValue = FieldValue
                firstValue = False
            Else
                If FieldValue > maxValue Then
                    ' we've got a new biggest value
                    maxValue = FieldValue
                End If
            End If
    
        Next fieldIndex
    
        Set pRow = pCursor.NextRow
    Loop
    
    If (maxValue <= 0) Then
        MsgBox "Failed to calculate the maximum value or max value is 0."
        Exit Sub
    End If
    
    ' Set up the chart marker symbol to use with the renderer
    Dim pBarChartSymbol As IBarChartSymbol
    Dim pFillSymbol As IFillSymbol
    Dim pMarkerSymbol As IMarkerSymbol
    Dim pSymbolArray As ISymbolArray
    Dim pChartSymbol As IChartSymbol
    
    Set pBarChartSymbol = New BarChartSymbol
    Set pChartSymbol = pBarChartSymbol
    pBarChartSymbol.Width = 6
    Set pMarkerSymbol = pBarChartSymbol
    
    ' Finally we've got the biggest value, set this into the symbol
    pChartSymbol.maxValue = maxValue
    
    ' This is the maximum height of the bars
    pMarkerSymbol.SIZE = 16
    
    ' Now set up symbols for each bar
    Set pSymbolArray = pBarChartSymbol
    
    ' Add some colours in for each bar
    
    Set pFillSymbol = New SimpleFillSymbol
    ' This is a pastel purple
    pFillSymbol.color = GetRGBColor(213, 212, 252)
    pSymbolArray.AddSymbol pFillSymbol
    
    Set pFillSymbol = New SimpleFillSymbol
    ' This is a pastel green
    pFillSymbol.color = GetRGBColor(193, 252, 179)
    pSymbolArray.AddSymbol pFillSymbol
    
    ' Now set the barchart symbol into the renderer
    Set pChartRenderer.ChartSymbol = pBarChartSymbol
    pChartRenderer.Label = "Population"
    
    ' set up the background symbol to use tan color
    Set pFillSymbol = New SimpleFillSymbol
    pFillSymbol.color = GetRGBColor(239, 228, 190)
    Set pChartRenderer.BaseSymbol = pFillSymbol
    
    ' Disable overpoaster so that charts appear in the centre of polygons
    pChartRenderer.UseOverposter = False
    
    ' Update the renderer and refresh the screen
    Set m_pGeoFeatureLayer.Renderer = pChartRenderer
    
    '可以提到窗體中實現 ?
    frmMapControl.arcMapControl.Refresh
    frmMapControl.arcMapControl.Update
End Sub






?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区国产二区| 久久一二三国产| 国精产品一区一区三区mba视频| 综合激情成人伊人| 国产三级精品视频| 日韩精品最新网址| 91精品国产aⅴ一区二区| 中文字幕久久午夜不卡| 国产精品第一页第二页第三页| 欧美极品xxx| 久久精品999| 国产精品99精品久久免费| 国产自产高清不卡| 9191精品国产综合久久久久久| 欧美日韩一区 二区 三区 久久精品| 成人激情黄色小说| 91麻豆成人久久精品二区三区| 成人av资源站| 欧美日韩一级二级三级| 久久97超碰色| 午夜久久久影院| 日韩在线一二三区| 久久91精品久久久久久秒播| 欧美性猛交xxxxxx富婆| 欧美一区二区视频在线观看2020| 有码一区二区三区| 免费精品视频在线| 高清在线成人网| 欧美性生活一区| 亚洲久草在线视频| 91久久线看在观草草青青| 欧美日韩一区小说| 亚洲午夜激情网站| 极品瑜伽女神91| 精品国产乱码久久久久久蜜臀 | 国产一区二区三区免费| 国产69精品久久777的优势| 久久久久久一二三区| 国产精品久久久久久久久免费桃花 | 欧美一区二区性放荡片| 免费一区二区视频| 精品国产青草久久久久福利| 极品美女销魂一区二区三区| 国产午夜精品久久久久久免费视| 亚洲桃色在线一区| 色系网站成人免费| 欧美不卡在线视频| 洋洋av久久久久久久一区| 久久99国产精品久久99果冻传媒| 精品国产乱码久久久久久牛牛| 国产一区二区影院| 最新日韩在线视频| 国产精品99久久久| 亚洲精品免费在线| 欧美色欧美亚洲另类二区| 视频一区二区三区中文字幕| 欧美不卡激情三级在线观看| 国产成人精品网址| 久久一夜天堂av一区二区三区 | 国产一区 二区 三区一级| 国产女人aaa级久久久级| 91丨九色丨国产丨porny| 偷拍日韩校园综合在线| 久久婷婷久久一区二区三区| a4yy欧美一区二区三区| 国产欧美日韩另类视频免费观看| 99久久精品情趣| 中文欧美字幕免费| 国产丶欧美丶日本不卡视频| 亚洲精品免费看| 精品99999| 日本道色综合久久| 国产风韵犹存在线视精品| 一区二区高清视频在线观看| 2023国产精品自拍| 欧美午夜一区二区| av电影在线观看完整版一区二区| 天堂va蜜桃一区二区三区漫画版 | 亚洲国产精品视频| 久久久精品影视| 在线电影欧美成精品| 日韩一区精品视频| 国产精品免费视频一区| 宅男在线国产精品| 99热国产精品| 国产精品一区二区不卡| 日日摸夜夜添夜夜添国产精品 | 91丨九色丨尤物| 国产麻豆日韩欧美久久| 日韩国产一区二| 日韩精品一区在线观看| 一道本成人在线| 99综合电影在线视频| 精品一区二区三区久久久| 亚洲综合在线第一页| 欧美日韩国产另类不卡| 蜜臀久久久久久久| 91精品国产综合久久久久久久| caoporen国产精品视频| 国产一区二区精品久久| 久久成人羞羞网站| 日本伊人色综合网| 天天色综合天天| 五月婷婷色综合| 亚洲一区二区三区中文字幕 | 色综合色狠狠天天综合色| 国产精品羞羞答答xxdd| 国产伦精一区二区三区| 精品无码三级在线观看视频| 日本成人中文字幕在线视频| 亚洲18影院在线观看| 国产亚洲综合色| 久久综合成人精品亚洲另类欧美 | 4hu四虎永久在线影院成人| 欧美综合久久久| 国产美女精品一区二区三区| 另类中文字幕网| 韩国在线一区二区| 国产xxx精品视频大全| 国产盗摄女厕一区二区三区| 国产成人精品免费在线| 成人av在线一区二区三区| 成人av电影在线网| 91蜜桃网址入口| 欧美性感一区二区三区| 91精品国产一区二区三区蜜臀 | 国产成人在线免费| 成人激情小说乱人伦| 91小视频在线| 欧美视频精品在线| 日韩免费一区二区| 久久久久久久久免费| 亚洲欧洲一区二区在线播放| 亚洲精品国久久99热| 亚洲va韩国va欧美va精品| 男女激情视频一区| 国产91精品欧美| 欧洲一区在线电影| 精品久久人人做人人爱| 中文字幕一区二区5566日韩| 樱花草国产18久久久久| 免费美女久久99| av中文一区二区三区| 欧美丰满少妇xxxxx高潮对白| 精品三级在线观看| 亚洲欧美国产毛片在线| 国产精品视频一区二区三区不卡| 中文字幕在线观看一区| 视频一区二区欧美| 波多野结衣中文字幕一区 | 中文字幕第一区二区| 亚洲夂夂婷婷色拍ww47| 美国欧美日韩国产在线播放| 成人免费不卡视频| av成人动漫在线观看| 欧美日韩精品一区视频| 国产午夜精品理论片a级大结局 | 国产91对白在线观看九色| 一本久道久久综合中文字幕| 精品久久久影院| 亚洲一区二区三区影院| 国产成人在线视频网站| 777a∨成人精品桃花网| 亚洲天堂免费在线观看视频| 青青草97国产精品免费观看无弹窗版| 国产成人综合精品三级| 8v天堂国产在线一区二区| 亚洲日本韩国一区| 国产成人丝袜美腿| 91精品国产麻豆| 亚洲精品日日夜夜| 国产精品香蕉一区二区三区| 91精品国产一区二区三区蜜臀 | 亚洲一区在线视频| 成人精品视频一区二区三区尤物| 欧美老年两性高潮| 亚洲人成电影网站色mp4| 风流少妇一区二区| 欧美不卡123| 免费欧美高清视频| 欧美日韩一区二区欧美激情| 日韩理论电影院| 大胆亚洲人体视频| 久久这里只精品最新地址| 天天色 色综合| 欧美日韩国产精选| 亚洲国产一区二区在线播放| jiyouzz国产精品久久| 久久婷婷综合激情| 国产麻豆精品视频| 久久毛片高清国产| 国产乱一区二区| 精品久久久久av影院 | 久久久久久久久蜜桃| 精品一二线国产| 精品国产一区二区在线观看| 久久国产剧场电影| 欧美一二三区在线观看| 中文字幕一区二区三| hitomi一区二区三区精品|