DoSelectLayer method (MapDoc)

Открывает диалог со списком слоев карты и возвращает слой, выбранный в нем.

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

MapDoc

Синтаксис:

Visual Basic:

Function DoSelectLayer(Title As String) As Layer

Title - заголовок диалога. Если строка пустая, заголовок по умолчанию: «Загруженные слои(N) - название карты (имя файла карты)», где N - число слоев карты.

Описание:

Если выбрать слой и нажать «OK», метод возвращает этот слой как объект Layer. Если нажать «Отмена», метод возвращает Nothing (в python - None). Макрос ждет, пока диалог не будет закрыт.

Диалог с дополнительными настройками открывает метод DoSelectLayerEx.

Пример:

Пример предлагает выбрать слой и сообщает его название и путь к файлам.

Visual Basic:

Sub MapDoc_DoSelectLayer
'Берем рабочую карту
Set Doc = Zulu.ActiveMapDoc
'Диалог выбора слоя со своим заголовком
Set L = Doc.DoSelectLayer("Выберите слой")
If L Is Nothing Then
  MsgBox "Выбор отменен"
Else
  MsgBox "Выбран слой """ & L.UserName & """" & vbCrLf & "файл: " & L.Name
End If
End Sub

Python:

import zulu

def Macro_MapDoc_DoSelectLayer():
    # Берем рабочую карту
    doc = zulu.App.ActiveMapDoc
    # Диалог выбора слоя со своим заголовком
    L = doc.DoSelectLayer("Выберите слой")
    if L is None:
        print("Выбор отменен")
    else:
        print("Выбран слой", repr(L.UserName))
        print("файл:", L.Name)