Устанавливает признак отображения для всех объектов загруженного в карту слоя с заданным типом и режимом.
Visual Basic:
Sub SetModeVisible(TypeID As Long, ModeNum As Long, bVisible As Boolean)
TypeID - ID типа.
ModeNum - номер режима.
bVisible - признак отображения.
Признак читается обратно методом GetModeVisible.
Номер режима 0 здесь не означает «все режимы»: видимость режимов типа такой вызов не меняет. Чтобы скрыть тип целиком, есть метод SetTypeVisible, а пройти по режимам типа позволяет коллекция Modes объекта из ObjectTypes.
Метод ничего не возвращает и на неверные данные не жалуется: вызов для несуществующего типа проходит без ошибки.
Пример прячет первый режим типа «Участки» и возвращает его обратно.
Visual Basic:
Sub Layer_SetModeVisible 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active S = "Тип 6, режим 1 виден: " & L.GetModeVisible(6, 1) 'Прячем режим L.SetModeVisible 6, 1, False S = S & vbCrLf & "после скрытия: " & L.GetModeVisible(6, 1) 'Возвращаем как было L.SetModeVisible 6, 1, True S = S & vbCrLf & "после возврата: " & L.GetModeVisible(6, 1) MsgBox S End SubPython:
import zulu def Macro_Layer_SetModeVisible(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active print("Тип 6, режим 1 виден:", L.GetModeVisible(6, 1)) # Прячем режим L.SetModeVisible(6, 1, False) print("после скрытия:", L.GetModeVisible(6, 1)) # Возвращаем как было L.SetModeVisible(6, 1, True) print("после возврата:", L.GetModeVisible(6, 1))