ArcMapで元に戻す/やり直しの操作が可能なレイヤの追加を行う方法

   

ArcMapでレイヤを削除すると,[元に戻す]ボタンを押すことにより削除したレイヤを復元させることがきますが,これをArcObjectsで操作するにはAddLayersOperationクラスを使用するようです。

別の操作を行うのにVBAヘルプのサンプルを探してたらこんなコードを見つけました。この操作はDesktopでのみ利用可能となってます。

Public Sub AddLayerInOperation(ByVal pLayer As ILayer, ByVal pMxDoc As IMxDocument)
  'Add the layer within an undo/redo operation(元に戻す/やり直し操作を含めたレイヤの追加)
  Dim pAddLayersOperation As IAddLayersOperation
  Set pAddLayersOperation = New AddLayersOperation
  pAddLayersOperation.AddLayer pLayer
  pAddLayersOperation.ArrangeLayers = False
  pAddLayersOperation.Name = pLayer.Name
  pAddLayersOperation.SetDestinationInfo 0, pMxDoc.FocusMap, Nothing
  pMxDoc.OperationStack.Do pAddLayersOperation
End Sub

※出典:ArcGIS > Developer Help > VBA Help > VBA Samples > NetworkAnalyst > CreateNALayer

AddLayersOperation

 - GIS, ArcObjects