Выбор и перемещение объектов
Оператор DrawSetRange
С помощью этого оператора устанавливаются границы для работы с группой объектов. Это нужно для других операторов и функций, о которых речь пойдет чуть ниже. Напомню, что закладки (bookmarks), в том числе предопределённые, рассматривались нами ранее.
Синтаксис:
DrawSetRange закладка$
Функция DrawSetRange
Ведёт себя так же как и оператор и возвращает -1, если диапазон установлен, и 0, если не установлен (например закладка не существует).
Синтаксис:
DrawSetRange (закладка$)
Убрать установленный диапазон можно с помощью оператора DrawClearRange.
Функция DrawCount возвращает число рисованных объектов, якоря которых находятся в диапазоне, установленном с помощью оператора DrawSetRange.
Пример.
DrawSetRange " \Section"
Print “Число объектов =”, DrawCount()
DrawClearRange
Более точную информацию о рисованных объектах можно получить с помощью функции DrawGetType, возвращающей число, соответствующее типу рисованного объекта, который задан аргументом номер.
Синтаксис:
DrawGetType(номер)
Аргумент находится в диапазоне от 1 до DrawCount() и означает количество объектов внутри границ, заданных оператором DrawSetRange. Если номер опущен, возвращается тип рисованного объекта:
0 аргумент не задан и рисованный объект не выбран;
1 аргумент не задан и выбрано более одного объекта;
2 линия;
3 текстовый блок;
4 прямоугольник;
5 эллипс;
6 дуга;
7 изображение произвольной формы;
8 рисованный вызываемый объект.
Оператор DrawSelect
Оператор DrawSelect выбирает заданный рисованный объект и отменяет выбор любого другого рисованного объекта. Для выбора объекта без отмены выбора других объектов, используется оператор DrawExtendSelect. Функция DrawSelect() действует также как оператор и возвращает -1, если заданный объект был выбран.
Синтаксис:
DrawSelect Объект
DrawSelect(Объект)
Аргументы:
Объект – задаёт рисованный объект, якорь которого находится в диапазоне, заданном оператором DrawSetRange, где
1 – первый объект в этом диапазоне, 2 – второй, и т. д. Если число вне диапазона, возникает ошибка.
Операторы DrawSelectNext и DrawSelectPrevious
DrawSelectNext выбирает из стека объектов следующий рисованный объект, ближайший к его вершине, а DrawSelectPrevious действует в обратном направлении.. Обратите внимание, что для использования этих операторов не требуется обязательное применение оператора DrawSetRange.
Оператор DrawExtendSelect
Выбирает рисованный объект, заданный аргументом счётчик, якорь которого находится внутри диапазона установленного оператором DrawSetRange. счётчик – позиция объекта относительно уровня текста: 1 – соответствует объекту, ближайшему к уровню текста;, 2 – для следующего объекта, и т. д. Если уже выбрано два или более рисованных объектов, то объект заданный аргументом счётчик, он добавляется к группе выбранных объектов.
Синтаксис:
DrawExtendSelect счётчик
Оператор DrawUnselect
Отменяет выбор выделенного объекта и перемещает точку вставки к началу абзаца, содержащего соответствующий якорь. Если выбрано более одного объекта, DrawUnselect перемещает IP к первому абзацу, содержащему якорь по крайней мере для одного из выбранных объектов.
Операторы DrawGroup и DrawUngroup
Оператор DrawGroup (см. пример в Справке) группирует выбранные рисованные объекты таким образом, что с ними можно затем манипулировать как с единым объектом, а DrawUngroup удаляет связь между объектами, установленную предшествующим DrawGroup, таким образом можно будет независимо переместить и изменить размеры каждого объекта.
Оператор DrawDisassemblePicture
Преобразует выбранную графику в группу рисованных объектов. Если выбранная графика не может быть преобразована, Word вставляет её в текстовый блок.
Оператор DrawAlign
Выравнивает выделенные рисованные объекты.Аргументы соответствуют опциям диалогового окна Align (Align Drawing Objects button, Drawing toolbar).
Синтаксис:
DrawAlign [.Horizontal = число1] [, .Vertical = число2] [, .RelativeTo = число3]
Аргументы:
.Horizontal – выравнивание по горизонтали: 0 – не выравнивать, сохраняется существующее положение; 1 – влево; 2 – по центру; 3 – вправо;
.Vertical – выравнивание по вертикали: 0 – не выравнивать, сохраняется существующее положение; 1 – по верху; 2 – по центру; 3 – по низу;
.RelativeTo – указывает, как должны быть выровнены объекты: 0 – относительно друг друга; 1 – относительно страницы.