Описание пользователя
Глава 2. Интерфейс пользователя
§2.10. Редактирование векторной картинки блока
§2.10.7. Добавление в картинку зон, чувствительных к курсору мыши
Описывается добавление в состав векторной картинки блока невидимых прямоугольных элементов, попадание курсора мыши в которые может отслеживаться моделью блока.
Модель блока с векторной картинкой всегда может определить, над каким именно элементом этой картинки находится курсор мыши, запросив у RDS идентификатор элемента, находящегося по заданным координатам. Таким образом, чаще всего нет необходимости добавлять в картинку специальные элементы для организации реакции модели на нажатия и отпускания кнопок мыши – для этого достаточно уже имеющихся в картинке элементов. Однако, если требуется по-разному реагировать на нажатия кнопок мыши на разных частях одного и того же элемента, следует вставить в картинку отдельные зоны, то есть невидимые прямоугольные области, имеющие свои целые идентификаторы.
Создание зоны похоже на создание обычного прямоугольника, только вместо кнопки «» нажимается кнопка «». Для добавления зоны в картинку следует нажать на панели элементов в левой части окна кнопку «» (рис. 150 а, вместо этого можно выбрать пункт меню «»), переместить курсор мыши в точку рабочего поля, где будет располагаться левый верхний угол зоны, нажать левую кнопку, а затем, не отпуская кнопки, переместить курсор в точку, где будет располагаться правый нижний угол зоны, и отпустить кнопку – новая зона будет создана. Если в настройках редактора включено отображение центров эллипсов и прочих вспомогательных меток (см. §2.10.1, зона будет отмечена рамкой (рис. 150 в), если нет, она будет невидима. Если пользователь по каким-либо причинам отключил изображение центров и вспомогательных меток и «» зону, проще всего найти ее, снова включив отображение меток.

(а)

(б)

(в)
Рис. 150. Создание зоны: выбор режима (а), рисование (б), готовая зона (в)
Рис. 151. Окно параметров зоны
После создания зоны можно открыть окно ее параметров двойным щелчком или пунктом контекстного меню «». В этом окне можно задать координаты левого верхнего угла прямоугольника зоны, его размеры в точках экрана для масштаба 100% и целый идентификатор, по которому функция модели блока сможет опознать эту зону (рис. 151). С переменными блока зону связать нельзя.
Кроме присвоения идентификаторов отдельным частям картинки, зона может использоваться еще в одном случае. Область, покрываемая зоной, считается принадлежащей картинке блока и входит в общий размер этого блока. Таким образом, создав в картинке зоны, далеко выходящие за пределы ее видимых элементов, или просто накрыв всю картинку одной большой зоной, можно сделать размер блока большим размера его видимого пользователю изображения. Это может быть полезно в тех случаях, когда этим блоком нужно перекрыть изображения других, чтобы они, оставаясь видимыми, не получали информацию о нажатии и отпускании кнопок мыши и перемещениях ее курсора – на все все эти события будет реагировать верхний блок с большими прозрачными зонами изображения.