⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmsymbol.frm

📁 ArcEngine 这是基于AE组件的源代码
💻 FRM
字号:
VERSION 5.00
Object = "{B7D43581-3CBC-11D6-AA09-00104BB6FC1C}#1.0#0"; "ToolbarControl.ocx"
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"
Begin VB.Form frmSymbol 
   Caption         =   "图层属性"
   ClientHeight    =   4830
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   7800
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   4830
   ScaleWidth      =   7800
   Begin VB.Frame Frame2 
      Height          =   4335
      Left            =   2040
      TabIndex        =   3
      Top             =   360
      Width           =   5655
      Begin esriToolbarControl.ToolbarControl ToolbarControl1 
         Height          =   390
         Left            =   2040
         OleObjectBlob   =   "frmSymbol.frx":0000
         TabIndex        =   7
         Top             =   3600
         Width           =   975
      End
      Begin VB.ComboBox CombolFields2 
         Height          =   300
         Left            =   2880
         TabIndex        =   6
         Text            =   "选择字段2"
         Top             =   240
         Width           =   2655
      End
      Begin VB.ComboBox CombolFields 
         Height          =   300
         Left            =   120
         TabIndex        =   5
         Text            =   "选择字段1"
         Top             =   240
         Width           =   2775
      End
      Begin MSComDlg.CommonDialog CommColor 
         Left            =   1440
         Top             =   840
         _ExtentX        =   847
         _ExtentY        =   847
         _Version        =   393216
      End
      Begin VB.CommandButton CmdSingleSymbol 
         Caption         =   "Single Symbol"
         Height          =   735
         Left            =   1680
         TabIndex        =   4
         Top             =   1680
         Width           =   2175
      End
   End
   Begin VB.Frame Frame1 
      Height          =   4335
      Left            =   0
      TabIndex        =   1
      Top             =   360
      Width           =   2055
      Begin MSComctlLib.TreeView TreeProperties 
         Height          =   3975
         Left            =   120
         TabIndex        =   2
         Top             =   240
         Width           =   1815
         _ExtentX        =   3201
         _ExtentY        =   7011
         _Version        =   393217
         Style           =   7
         Appearance      =   1
      End
   End
   Begin MSComctlLib.TabStrip TabLayerProperties 
      Height          =   4815
      Left            =   0
      TabIndex        =   0
      Top             =   0
      Width           =   7815
      _ExtentX        =   13785
      _ExtentY        =   8493
      _Version        =   393216
      BeginProperty Tabs {1EFB6598-857C-11D1-B16A-00C0F0283628} 
         NumTabs         =   2
         BeginProperty Tab1 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
            Caption         =   "符号"
            Key             =   "Symbology"
            Object.Tag             =   "Symbology"
            ImageVarType    =   2
         EndProperty
         BeginProperty Tab2 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
            Caption         =   "标注"
            Key             =   "Labels"
            Object.Tag             =   "Labels"
            ImageVarType    =   2
         EndProperty
      EndProperty
   End
End
Attribute VB_Name = "frmSymbol"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim tempFeatureLayer As IGeoFeatureLayer

Private Sub CmdSingleSymbol_Click()
    If (CmdSingleSymbol.Caption = "单一符号") Then
        CommColor.CancelError = True
        On Error GoTo ErrHandler
        
        CommColor.flags = cdlCCRGBInit
        CommColor.ShowColor
        Call FeatuerSymbol(CommColor.color)
    ElseIf (CmdSingleSymbol.Caption = "唯一值") Then
        If (tempFeatureLayer Is Nothing) Then
            Set tempFeatureLayer = m_pCurrentLayer
        End If
        If (CombolFields.Text <> "") Then Call UniqueValueSymbol(tempFeatureLayer, CombolFields.Text)
    ElseIf (CmdSingleSymbol.Caption = "按点密度") Then
        If (tempFeatureLayer Is Nothing) Then
            Set tempFeatureLayer = m_pCurrentLayer
        End If
        If (CombolFields.Text <> "") Then Call DotDensitySymbol(tempFeatureLayer, CombolFields.Text)
    ElseIf (CmdSingleSymbol.Caption = "按比例符号") Then
        If (tempFeatureLayer Is Nothing) Then
            Set tempFeatureLayer = m_pCurrentLayer
        End If
        If (CombolFields.Text <> "") Then Call PropSymbol(tempFeatureLayer, CombolFields.Text)
    ElseIf (CmdSingleSymbol.Caption = "样式符号") Then
        If (tempFeatureLayer Is Nothing) Then
            Set tempFeatureLayer = m_pCurrentLayer
        End If
        If (CombolFields.Text <> "") Then Call ClassBreaksSymbol(tempFeatureLayer, CombolFields.Text)
    ElseIf (CmdSingleSymbol.Caption = "饼图") Then
        If (tempFeatureLayer Is Nothing) Then
            Set tempFeatureLayer = m_pCurrentLayer
        End If
        If (CombolFields.Text <> "" And CombolFields2.Text <> "") Then Call BarChartSymbol(tempFeatureLayer, CombolFields.Text, CombolFields2.Text)
    ElseIf (CmdSingleSymbol.Caption = "Sliver Renderer") Then
        frmSliverRenderer.Show
    End If
     
ErrHandler:
     Unload Me
End Sub


Private Sub Form_Load()
     Dim featuresNode As Node
     Dim categoriesNode As Node
     Dim quantitiesNode As Node
     Dim chartsNode As Node
     Dim sliverRendererNode As Node
     Dim tempNode As Node
     
     Set featuresNode = TreeProperties.Nodes.Add(, , "要素", "要素")
     Set tempNode = TreeProperties.Nodes.Add(featuresNode.Index, tvwChild, "单一符号", "单一符号")
    
     Set categoriesNode = TreeProperties.Nodes.Add(, , "类别", "类别")
     Set tempNode = TreeProperties.Nodes.Add(categoriesNode.Index, tvwChild, "唯一值", "唯一值")
     Set tempNode = TreeProperties.Nodes.Add(categoriesNode.Index, tvwChild, "样式符号", "样式符号")
     
     Set quantitiesNode = TreeProperties.Nodes.Add(, , "数量", "数量")
     Set tempNode = TreeProperties.Nodes.Add(quantitiesNode.Index, tvwChild, "按比例符号", "按比例符号")
     Set tempNode = TreeProperties.Nodes.Add(quantitiesNode.Index, tvwChild, "按点密度", "按点密度")
     
     Set chartsNode = TreeProperties.Nodes.Add(, , "图表", "图表")
     Set tempNode = TreeProperties.Nodes.Add(chartsNode.Index, tvwChild, "饼图", "饼图")
     
     Set sliverRendererNode = TreeProperties.Nodes.Add(, , "条形图", "条形图")
         
     CombolFields.Visible = False
     CombolFields2.Visible = False
End Sub

Private Sub TreeProperties_NodeClick(ByVal Node As MSComctlLib.Node)
     If (Node.Expanded = True) Then
        Node.Expanded = False
     Else
        Node.Expanded = True
     End If
     
     If (Node.Text = 要素 Or Node.Text = "单一符号") Then
        CmdSingleSymbol.Visible = True
        CombolFields.Visible = False
        CmdSingleSymbol.Caption = "单一符号"
     ElseIf (Node.Text = "唯一值") Then
        CmdSingleSymbol.Visible = True
        CmdSingleSymbol.Caption = "唯一值"
        InitCombolFields True
     ElseIf (Node.Text = "按点密度") Then
        CmdSingleSymbol.Visible = True
        CmdSingleSymbol.Caption = "按点密度"
        InitCombolFields False
     ElseIf (Node.Text = "按比例符号") Then
        CmdSingleSymbol.Visible = True
        CmdSingleSymbol.Caption = "按比例符号"
        InitCombolFields False
     ElseIf (Node.Text = "样式符号") Then
        CmdSingleSymbol.Visible = True
        CmdSingleSymbol.Caption = "样式符号"
        InitCombolFields False
     ElseIf (Node.Text = "饼图") Then
        CmdSingleSymbol.Visible = True
        CmdSingleSymbol.Caption = "饼图"
        InitCombolFields False
        InitCombolFields2 False
     ElseIf (Node.Text = "条形图") Then
        CmdSingleSymbol.Visible = True
        CmdSingleSymbol.Caption = "Sliver Renderer"
        CombolFields.Visible = False
        CombolFields2.Visible = False
     Else
        CmdSingleSymbol.Visible = False
        CombolFields2.Visible = False
     End If
End Sub

Private Sub InitCombolFields(isString As Boolean)
    Dim fieldsCounts As Integer
    Dim i As Integer
    
    CombolFields.Clear
    CombolFields.Visible = True
    CombolFields2.Visible = False
    Set tempFeatureLayer = m_pCurrentLayer
    fieldsCounts = tempFeatureLayer.FeatureClass.Fields.FieldCount
    
    For i = 0 To fieldsCounts - 1
       If (isString = True) Then
            CombolFields.AddItem tempFeatureLayer.FeatureClass.Fields.Field(i).name, i
       Else
            If (tempFeatureLayer.FeatureClass.Fields.Field(i).Type < 4) Then
                CombolFields.AddItem tempFeatureLayer.FeatureClass.Fields.Field(i).name, 0
            End If
       End If
    Next i
    
End Sub
Private Sub InitCombolFields2(isString As Boolean)
    Dim fieldsCounts As Integer
    Dim i As Integer
    
    CombolFields2.Clear
    If (CombolFields2.Visible = False) Then
        CombolFields2.Visible = True
    End If
    Set tempFeatureLayer = m_pCurrentLayer
    fieldsCounts = tempFeatureLayer.FeatureClass.Fields.FieldCount
    
    For i = 0 To fieldsCounts - 1
       If (isString = True) Then
            CombolFields2.AddItem tempFeatureLayer.FeatureClass.Fields.Field(i).name, i
       Else
            If (tempFeatureLayer.FeatureClass.Fields.Field(i).Type < 4) Then
                CombolFields2.AddItem tempFeatureLayer.FeatureClass.Fields.Field(i).name, 0
            End If
       End If
    Next i
    
End Sub

Public Sub test()

End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -