如何添加字段
本例实现的是如何在一个FeatureClass中新增一个字段(Field)。
l 要点
定义IField接口对象,并用Field类实现,通过IFieldEdit接口对象设置IField接口对象的属性,最后通过IFeatureClass.AddField方法添加一个字段。
主要用到IField接口、IFieldEdit接口和IFeatureClass接口。
l 程序说明
函数OpenFeatureClass获得当前激活的Map中第一层的IFeatureClass接口对象。
函数AddField生成一个新的字段(Field)并添加到pFeatureClass中。
l 代码
|
Private Function AddField(pFeatureClass As IFeatureClass) As Boolean Dim pField As IField Dim pFieldEdit As IFieldEdit On Error GoTo ErrorHandler: AddField = False If (pFeatureClass Is Nothing) Then Exit Function End If Set pField = New esriCore.Field Set pFieldEdit = pField With pFieldEdit .Length = 10 .Name = "NewField" .Type = esriFieldTypeString End With pFeatureClass.AddField pField MsgBox ("已添加新字段:" & " " & pField.Name) AddField = True Exit Function ErrorHandler: MsgBox Err.Description End Function Private Function OpenFeatureClass() As IFeatureClass Dim pMxDocument As IMxDocument Dim pMap As IMap Dim pFeatureLayer As IFeatureLayer Dim pFeatureClass As IFeatureClass On Error GoTo ErrorHandler: Set OpenFeatureClass = Nothing Set pMxDocument = ThisDocument Set pMap = pMxDocument.FocusMap If (pMap.LayerCount = 0) Then MsgBox ("缺少数据") Exit Function End If Set pFeatureLayer = pMap.Layer(0) Set pFeatureClass = pFeatureLayer.FeatureClass Set OpenFeatureClass = pFeatureClass Exit Function ErrorHandler: MsgBox Err.Description End Function Private Sub UIButtonControl1_Click() On Error GoTo ErrorHandler: Dim pFeatureClass As IFeatureClass Set pFeatureClass = OpenFeatureClass() AddField pFeatureClass Exit Sub ErrorHandler: MsgBox Err.Description End Sub |
浙公网安备 33010602011771号