Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB6REFRU.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
3.83 Mб
Скачать

Оператор Set Handler

Оператор Set Handler

Назначение:

Включает и выключает вызов обработчика системных событий, вызов такой процедуры как Sel4 ChangedHandler.

Предупреждение:

Вы не можете использовать оператор в окне MapBasic.

Синтаксис:

Set Handler handler_name { On | Off } где

handler_name – имя процедуры обработчика, такой как SelChangedHandler.

Описание:

Обычно, если Ваша программа имеет в своем теле процедурыLобработчики, MapInfo вызывает их автоматически, как только происходит соответствующее событие. Например, если Ваша программа имеет процедуру SelChangedHandler, MapInfo вызовет ее автоматически, как только произойдет изменение в выборе.

Оператор Set Handler может отключить автоматический вызов определенного обработчика в Вашей программе MapBasic и включить его снова.

Оператор Set Handler ... Off имеет эффект только для автоматических вызовов, на вызовы процедуры оператором Call он не влияет.

Пример:

Следующий пример показывает, как обойти лишние запуски обработчика изменения выбора при помощи оператора Set Handler.

Sub SelChangedHandler

Set Handler SelChangedHandler Off

На этом месте можно применить в цикле оператор Select

не обрабатывая при этом изменения выбора.

Set Handler SelChangedHandler On

End Sub

Справочник MapBasic

501

Оператор Set Layout

Оператор Set Layout

Назначение:

Меняет уже открытое окно Отчета.

Синтаксис:

Set Layout

[ Window window_id ]

[ Center (center_x, center_y) ]

[ Extents { To Fit | (pages_across, pages_down) } ] [ Pagebreaks { On | Off } ]

[ Frame Contents { Active | On | Off } ] [ Ruler { On | Off } ]

[ Zoom { To Fit | zoom_percent } ]

где

window_id – идентификатор окна Отчета;

center_x – горизонтальная координата центра окна Отчета; center_y – вертикальная координата центра окна Отчета;

pages_across – число страниц (одна или более), расположенных подряд по горизонтали; pages_down – число страниц (одна или более), расположенных подряд по вертикали; zoom_percent – процентное соотношение размера отображения Отчета к реальному размеру.

Описание:

Оператор Set Layout управляет настройкой отображения содержимого окна Отчета. Если идентификатор окна не указан в операторе (параметр window_id), то оператор будет работать с окном Отчета, которое располагается выше остальных открытых окон Отчетов. Этот оператор позволяет программе управлять отображением данных в окне Отчета так же, как это делает пользователь при помощи команд из меню ОТЧЕТ в окне MapInfo.

Предложение Center задает точку, которая будет центральной в окне Отчета.

Предложение Extents управляет количеством страниц Отчета. Следующий вариант оператора:

Set Layout Extents To Fit

определяет, на скольких страницах установленного формата для принтера, который на данный момент подключен к системе, смогут поместиться все существующие объекты Отчета. После слова Extents можно также назначать и определенное количество печатных страниц. Например, оператор:

Set Layout Extents (3, 2)

задает шесть страниц, по три в два ряда.

Если Отчет состоит более чем из одной страницы, то переключатель Pagebreaks позволяет Вам управлять отображением линий, разделяющих изображение на страницы. По умолчанию используется режим On.

502

Справочник MapBasic

Оператор Set Layout

Предложение Frame Contents управляет режимом обновления содержимого рамок. Отчет может содержать от одного или более таких объектов, отображающих изображения из других открытых окон в MapInfo (Карт, Графиков, Легенд и т. п.). Предложение Frame Contents задает режим перерисовки изображения в Отчете при изменении данных в окне, на базе которого был создан объект типа "рамка". Следующий оператор задает программе MapInfo синхронную перерисовку в окне Отчета:

Set Layout Frame Contents On

Перерисовка может происходить только тогда, когда окно Отчета становится активным. Для этого используется следующий режим:

Set Layout Frame Contents Active

Для того, чтобы программа MapInfo вообще не обновляла изображение в окне Отчета, используйте следующий вариант:

Set Layout Frame Contents Off

В последнем случае все объекты типа "рамка" показываются в окне Отчета в виде закрашенных прямоугольников с именами соответствующих окон (например, "РОССИЯ Карта").

Предложение Ruler включает режим отображения линеек вверху и слева в окне Отчета. По умолчанию используется режим On.

Предложение Zoom определяет отношение реальных размеров отчета и представленного на экране макета. Например, следующее предложение задает пятидесятипроцентный масштаб макета:

Set Layout Zoom 50.0

Другими словами, размеры изображения на экране будут ровно в два раза меньше реальных размеров Отчета. Параметр zoom_percent может принимать значения от 6.25% до 800% включительно.

В предложении Zoom можно не определять масштаб, а потребовать, чтобы все страницы поместились на экране:

Set Layout Zoom To Fit

Если в окне выбран объект "рамка", то, используя операторы Run Menu Command (для имитации команд ДОСТАТЬ НАВЕРХ или ПОДЛОЖИТЬ ВНИЗ) и Alter Object, Вы можете изменить стили линий и штриховок, порядок наложения объектов друг на друга.

Для изменения таких параметров окна Отчета, как ширина окна, высота и расположение его на экране, используйте оператор Set Window.

Пример:

Set Layout

Zoom To Fit Extents To Fit

Ruler Off

Frame Contents On

Смотрите также:

Alter Object, Create Frame, Layout, Run Menu Command, Set Window

Справочник MapBasic

503

Оператор Set Legend

Оператор Set Legend

Назначение:

Изменяет настройки отображения информации в окне "Легенда".

Синтаксис:

Set Legend

[ Window window_id ]

[ Layer layer_id | layer_name | Prev } ] [ Display { On | Off } ]

[ Shades { On | Off } ]

[ Symbols { On | Off } ] [ Lines { On | Off } ]

[ Count { On | Off } ]

[ Title layer_title [ Font... ] ]

[ SubTitle layer_subtitle [ Font... ] ] [ Ascending { On | Off } ]

[ Ranges [Font... ]

range_title [ Display { On | Off } ] [, ... ]

]

]

[, ... ]

где

window_id – идентификатор окна Карты;

layer_id – целое число или строка, обозначающие слой Карты; layer_name – строка, задающая слой Карты;

layer_title и layer_subtitle – заголовок и подзаголовок легенды;

range_title – текстовая строка, описывающая один диапазон при условном выделении.

Слово Font начинает стандартное предложение оператора для определения стиля шрифта.

Описание:

Оператор Set Legend задает настройки для окна "Легенда". Этот оператор позволяет программе управлять отображением условных обозначений. Для изменения таких параметров окна "Легенда", как ширина окна, высота и расположение его на экране, используйте оператор Set Window.

Оператор Set Legend может использоваться в файле Рабочего Набора. Для примера Вы можете открыть окно Карты, создать условное выделение, открыть окно Легенды и сохранить Рабочий Набор (например, под именем LEGEND.WOR). Теперь откройте файл Рабочего Набора в любом текстовом редакторе и Вы увидите оператор Set Legend, задающий те настройки, которые были использованы в открытом ранее окне Легенды.

Независимо от количества открытых окон Карт, на экране может присутствовать только одно окно "Легенды", относящееся к одному окну Карты. В операторе Set Legend параметр window_id задает окно Карты, а не легенды. Если параметр window_id не задан, то оператор использует самое верхнее окно Карты.

504

Справочник MapBasic

Оператор Set Legend

Предложение Layer задает изменения в описании слоя в Легенде. Слой идентифицируется либо своим порядковым номером в окне Карты, либо именем, либо задается словами Layer Prev. Предложение Layer Prev идентифицирует слой, который был создан или изменен последним с помощью операторов Shade или Set Shade.

Если Карта содержит два или более тематических слоев, то оператор Set Legend может содержать столько же предложений Layer, по каждому на один тематический слой.

Оставшиеся ключевые слова в операторе Set Legend составляют предложение Layer, то есть описываемые ниже предложения являются ключевыми словами в предложении Layer.

Предложение Count определяет показ в скобках количества записей, принадлежащих к данному диапазону. Предложения Shades, Symbols и Lines задают показ в строке легенды элементов оформления, соответствующих диапазонам. Если оператор включает предложение Shades On, то в окне легенды будут показаны образцы штриховок, используемых картой. Если оператор включает предложение Symbols On, то в окне легенды будут показаны образцы символов точечных объектов. Если оператор включает предложение Lines On, то в окне легенды будут показаны образцы линий и контуров.

Предложения Title и Subtitle управляют показом заголовка и подзаголовка соответственно. Каждая из этих строк не должна быть длиннее 32 символов. В окне легенды строка заголовка всегда располагается вверху, строка подзаголовка ниже, а затем идут описания диапазонов.

Если не задать предложение Ascending On, то строки легенды, описывающие диапазоны, будут располагаться в стандартном, возрастающем порядке. Иначе они расположатся в убывающем порядке.

Предложение Ranges задает текстовое описание диапазона (range_title), скомбинированное с режимом, задаваемым предложением Display. Вы должны задать параметр range_title для каждого диапазона, а управлять его представлением можно предложениями Display On или Dis4 play Off. Предложение Ranges должно включать предложение range_title Display для каждого диапазона тематической Карты, даже для диапазонов, которые не будут показаны.

Если на некий слой условное выделение производилось методом размерных символов, то Вам понадобится две комбинации range_title Display. Если условное выделение производилось методом задания плотности точек, то Вам понадобится задать одну комбинацию range_title Dis@ play. В остальных случаях Вам надо будет дополнительно к описаниям диапазонов задать еще одну строку для диапазона "остальные", в который попадают все объекты, не охваченные диапазонами.

Смотрите также:

Map, Open Window, Set Map, Set Window, Shade

Справочник MapBasic

505

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]