This document is archived and information here might be outdated. Recommended version. |
The selected features which are editable.
[Visual Basic .NET] Public ReadOnly Property EditSelection As IEnumFeature
[C#] public IEnumFeature EditSelection {get;}
public void GetMapSelection()
{
//Get a reference to IApplication app in ICommand::OnCreate hook parameter.
IEditor sEditor = app.FindExtensionByName("ESRI Object Editor") as IEditor;
IEnumFeature enumFeature = sEditor.EditSelection;
enumFeature.Reset();
IFeature selFeature = enumFeature.Next();
for (int fCount = 0; fCount < sEditor.SelectionCount; fCount++)
{
IGeometry selGeometry = selFeature.Shape;
'Put code here to do something with the geometry
System.Windows.Forms.MessageBox.Show(selGeometry.GeometryType);
selFeature = enumFeature.Next;
}
}
public void GetMapSelection()
{
//get editor extension
UID editorUID = new UID();
editorUID.Value = "esriEditor.Editor";
IEditor editor = m_application.FindExtensionByCLSID(editorUID) as IEditor;
IEnumFeature selectedFeatures = editor.EditSelection as IEnumFeature;
selectedFeatures.Reset();
IFeature currentFeature = selectedFeatures.Next();
while(currentFeature != null)
{
IGeometry geometry = currentFeature.Shape;
//Code to do something with the geometry
//In this example we'll msgbox the geometry type
System.Windows.Forms.MessageBox.Show(geometry.GeometryType.ToString());
currentFeature = selectedFeatures.Next();
}
}
Private sub GetEditSel() 'Get Iapplication from
ICommand::OnCreate hook parameter.
Dim geometry as IGeometry
Dim enumFeature As IEnumFeature
Dim feature as IFeature
Dim fieldCount As Integer
'Get an object reference to IEditor.
Dim editorUID As UID = New UIDClass()
editorUID.Value = "esriEditor.Editor"
Dim editor As IEditor = app.FindExtensionByCLSID(editorUID)
editor.StartOperation()
enumFeature = editor.EditSelection
enumFeature.Reset()
feature = enumFeature.Next
If feature Is Nothing
Then m_Editor.AbortOperation()
Exit Sub
End If
For fieldCount = 0 To editor.SelectionCount - 1
origPartGeometry = enumFeature.Shape
'Code to do something with the geometry. 'In this example we'll messagebox the geometry type
MessageBox.Show(origPartGeometry.GeometryType)
origFeature = enumFeature.Next
Next fieldCount
End Sub