Возвращает/устанавливает для слоя признак отображения слоя, загруженного в карту.
Visual Basic:
Property Visible As Boolean
Если свойство равно FALSE, это не означает, что слой выгружен из карты. Он просто не участвует в отображении.
Слой остается в списке слоев карты - с очищенной отметкой видимости - и остается доступен макросу: его объекты читаются и меняются, как и раньше. Свойство читается и у слоя, открытого методом Open вне карты.
С карты слой пропадает не в момент присваивания, а при перерисовке: чтобы изменение стало видно, карту нужно перерисовать методом Refresh.
В случае неудачи возникает исключение с одним из следующих кодов:
Код
Описание
513
Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.
Пример убирает активный слой с карты и возвращает его обратно.
Visual Basic:
Sub Layer_Visible 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active S = "Было: " & L.Visible 'Убираем слой из отображения L.Visible = False S = S & vbCrLf & "после выключения: " & L.Visible S = S & vbCrLf & "объектов в слое по-прежнему: " & L.ElementKeys.Count 'Возвращаем слой на карту L.Visible = True S = S & vbCrLf & "после включения: " & L.Visible MsgBox S End SubPython:
import zulu def Macro_Layer_Visible(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active print("Было:", L.Visible) # Убираем слой из отображения L.Visible = False print("после выключения:", L.Visible) print("объектов в слое по-прежнему:", L.ElementKeys.Count) # Возвращаем слой на карту L.Visible = True print("после включения:", L.Visible)