📄 frmsymbol.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 + -