Глава 9: Графические объекты
204 MapBasic Руководство пользователя
Операторы Create Object As Union и Create Object as Intersection
позволяют создавать области, являющиеся логической комбинацией
двух и более областей. Эти операторы отличаются от Create Object As
Merge тем, что они действуют на все фрагменты исходных областей, а
не только на общие их части. Union – это объединение всех областей.
Intersection – зона пересечения областей. Графический объект,
полученный в результате объединения или пересечения областей,
может содержать новые узлы (т.е. такие, которых не было в исходных
областях).
В MapBasic также есть функция Combine( ), которая возвращает
графический объект, являющийся комбинацией двух других объектов.
Изменение объектов
Общая процедура изменения графических объектов
MapBasic содержит несколько операторов, позволяющих вносить
изменения в существующие графические объекты на карте.
Независимо от того, с помощью какого оператора Вы вносите
изменения, процесс модификации графического объекта выглядит
следующим образом:
1. Создается копия исходного объекта. (Как правило, для этого
объявляют переменную типа Object, выполняют оператор Fetch,
чтобы переместить указатель файла, а затем выполняют
оператор присваивания вида имя_переменной =
имя_таблицы.obj).
2. Выполняются операторы или функции, которые изменяют
графический объект. (Это обычно один или несколько
операторов Alter Object.)
3. Выполняется оператор Update, чтобы сохранить измененный
графический объект обратно в таблицу.
Программа TEXTBOX из набора примеров может служить
иллюстрацией этого процесса. Если пользователь установил флажок
"Сделать одинаковыми цвета текста и рамки", то программа TEXTBOX
использует оператор Alter Object для изменения цвета выбранного
объекта, а затем – оператор Update для того, чтобы сохранить
измененный текстовый объект в таблице.
Перемещение объекта
Чтобы изменить значения координат графического объекта,
выполните оператор Alter Object с предложением Geography. Вам
может потребоваться выполнить более одного оператора Alter Object
(например, один – чтобы изменить координату X, и еще один – чтобы
изменить координату Y).