Printable property (Layer)

Возвращает/устанавливает для слоя, загруженного в карту, признак вывода его на печать.

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

Layer

Синтаксис:

Visual Basic:

Property Printable As Boolean

True - слой выводится при печати на карту.

Описание:

Свойство отвечает только за печать: показ слоя на экране включает и выключает Visible. У слоя, только что загруженного в карту, оно равно True; читается оно и у слоя, открытого методом Open вне карты - исключения при этом не возникает.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.

Пример:

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

Visual Basic:

Sub Layer_Printable
'Берем карту целиком
Set M = Zulu.ActiveMapDoc
S = ""
For i = 1 To M.Layers.Count
  Set L = M.Layers.Item(i)
  S = S & L.UserName & ": на печать " & L.Printable & ", на экране " & L.Visible & vbCrLf
Next
'Убираем активный слой из печати и возвращаем обратно
Set A = M.Layers.Active
Prev = A.Printable
A.Printable = False
S = S & vbCrLf & "после выключения: " & A.Printable
A.Printable = Prev
S = S & vbCrLf & "вернули: " & A.Printable
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_Printable():
    # Берем карту целиком
    M = zulu.App.ActiveMapDoc
    for i in range(1, M.Layers.Count + 1):
        L = M.Layers.Item(i)
        print(L.UserName, ": на печать", L.Printable, ", на экране", L.Visible)
    # Убираем активный слой из печати и возвращаем обратно
    a = M.Layers.Active
    prev = a.Printable
    a.Printable = False
    print("после выключения:", a.Printable)
    a.Printable = prev
    print("вернули:", a.Printable)