GetModeVisible method (Layer)

Возвращает признак отображения для всех объектов загруженного в карту слоя с заданным типом и режимом.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetModeVisible(TypeID As Long, ModeNum As Long) As Boolean

TypeID - ID типа.

ModeNum - номер режима.

Описание:

Если свойство равно False, это означает, что все объекты слоя с таким типом и режимом не отображаются на карте.

Номера режимов начинаются с единицы и совпадают со значением Id режима в коллекции Modes его типа. При ModeNum = 0 метод возвращает False, а для номера больше числа режимов - True. Для типа, которого в слое нет, метод возвращает False.

Признак задается методом SetModeVisible; то же значение хранит свойство Visible самого режима. Признак действует для слоя, загруженного в карту, и в файле слоя не сохраняется: у слоя, открытого заново, все режимы снова видимы.

Пример:

Visual Basic:

Sub Layer_GetModeVisible
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
'Перебираем режимы первого типа слоя
Set T = L.ObjectTypes.GetItemByIndex(0)
S = "Тип " & T.Id & " """ & T.Name & """"
For i = 1 To T.Modes.Count
  Set Md = T.Modes.Item(i)
  S = S & vbCrLf & "режим " & Md.Id & " """ & Md.Name & """: " & L.GetModeVisible(T.Id, Md.Id)
Next
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_GetModeVisible():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    # Перебираем режимы первого типа слоя
    t = L.ObjectTypes.GetItemByIndex(0)
    print("Тип", t.Id, t.Name)
    for i in range(1, t.Modes.Count + 1):
        md = t.Modes.Item(i)
        print("режим", md.Id, md.Name, ":", L.GetModeVisible(t.Id, md.Id))