Возвращает признак отображения для всех объектов загруженного в карту слоя с заданным типом и режимом.
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 SubPython:
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))