ArcMapでレイヤが表示されているかどうかを判定する方法

      2009/07/19

ArcMapのデータフレームでレイヤを表示するかどうかはILayer::Visibleプロパティで設定できますが,表示縮尺の制御をしている場合は,表示にチェックを入れてもレイヤが表示されません。現在レイヤが表示されている状態かどうかを判断するにはIMapLayers::IsLayerVisibleプロパティを使用します。

Dim pMxDocument As IMxDocument
Set pMxDocument = ThisDocument              'MxDocumentの取得

Dim pMapLayers As IMapLayers
Set pMapLayers = pMxDocument.FocusMap       'アクティブなデータフレームの取得

Dim pLayer As ILayer
Set pLayer = pMxDocument.FocusMap.Layer(0)  'アクティブなデータフレームの最上位レイヤを取得

MsgBox pMapLayers.IsLayerVisible(pLayer)    'レイヤが表示状態かどうかを判定(Bool値)

 - ArcObjects, GIS