{
IGraphicsContainerSelectPtr ipGraphicsContainerSelect = (IGraphicsContainerSelectPtr)m_ipMap;
LONG selCount;
ipGraphicsContainerSelect->get_ElementSelectionCount(&selCount);
if(selCount ==0) //判断是否选中图斑
{
AfxMessageBox("请选中欲导入图斑!");
return;
}
ILayerPtr ipLayer;
m_ipMap->get_Layer(0,&ipLayer); //选中导入图层
IFeatureLayerPtr ipFeatureLayer(ipLayer);
IFeatureClassPtr ipFeatureClass;
IFeaturePtr ipFeature;
ipFeatureLayer->get_FeatureClass(&ipFeatureClass); //该图层的feature集
IDatasetPtr ipDataset(ipFeatureClass); //该图层的数据集
IWorkspacePtr ipWorkspace;
ipDataset->get_Workspace(&ipWorkspace); //关联到编辑空间
IWorkspaceEditPtr ipWorkspaceEdit(ipWorkspace);
ipWorkspaceEdit->StartEditing(VARIANT_TRUE); //使之可编辑
ipWorkspaceEdit->StartEditOperation(); //开始编辑
ipFeatureClass->CreateFeature(&ipFeature); //创建空feature
IElementPtr ipElement;
ipGraphicsContainerSelect->SelectedElement(0,&ipElement);
IGeometryPtr ipGeometry(ipElement);
ipFeature->putref_Shape(ipGeometry); //仅导入最新选中图斑,即多选时只有一个可以导入
ipFeature->Store();
ipWorkspaceEdit->StopEditOperation();
ipWorkspaceEdit->StopEditing(VARIANT_TRUE); //结束编辑并保存
IGraphicsContainerPtr ipGraphicsContainer(ipGraphicsContainerSelect);
ipGraphicsContainer->DeleteAllElements(); //删除graphic图层
IActiveViewPtr ipActview;
m_ipMapControl->get_ActiveView(&ipActview);
ipActview->Refresh(); //刷新当前视图
}
尚未调试成功.