Пример обработчика событий

Чтобы почувствовать события “на вкус”, создайте кнопку и скопируйте в нее текст следующего скрипта:

@Dialog.InfoBox 3000 Активизация скрипта обработки событий
%Events.OnCollect
$S=@EventObject
@If $S=0 then @Break
$S=@Map.Object[$S].Parameter[-5]
@Dialog.InfoBox 3000 Сбор объекта||$S
;
%Events.OnSelect
$S=@EventObject
@If $S=0 then @Break
$S=@Map.Object[$S].Parameter[-5]
@Dialog.InfoBox 3000 Пометка объекта||$S
;
%Events.OnChange
$S=@EventObject
@If $S=0 then @Break
$S=@Map.Object[$S].Parameter[-5]
@Dialog.InfoBox 3000 Изменение объекта||$S
;
%Events.OnPointCollect
$N=@EventObject
$C=@Map.Object[$N].Count
$C=$C-1
@If $C=0 then $C=1
$P=@Map.Object[$N].Point[$C]
@Map.AddObject 0|1|id28|1|0 $P

После нажатия кнопки активируются обработчики событий сбора объекта, его пометки, изменения, а также событие регистрации точки.

Примечание

Команда @Dialog.InfoBox, используемая в данном скрипте, выводит на экран автоматически убираемое сообщение. Аргументами команды является число милисекунд, в течении которого будет демонстрироваться окно, и текст сообщения.

Создайте карту на основе шаблона по умолчанию, нажмите вновь созданную кнопку и попробуйте сначала собрать, а затем отредактировать объект. Программа будет реагировать на ваши действия соответствующими диалогами, которые будут появляться в момент “перехвата” событий.