CreateIterator - Создать блок параметров навигации по объектам |
Scroll |
Аналог данной функции при использовании Automation - метод ksIterator::ksCreateIterator
Синтаксис:
reference CreateIterator(int searchType, reference parent);
Входные параметры:
searchType |
- тип поиска объекта |
parent |
- указатель на объект (для движения по группе, внутри макроэлемента, по слою). |
Возвращаемое значение:
указатель на найденный объект |
- в случае успешного завершения, |
0 |
- в случае неудачи. |
Описание:
1. Передвижение по модели документа (навигация) производится в соответствии с условиями, заданными в специальном блоке параметров. Он содержит тип движения, определяющий режим перемещения (например, по видам, слоям, всем объектам, объектам заданного типа и т.д.) и указатель комплексного объекта (макроэлемента, слоя, группы) при перемещении по составляющим его объектам. Итератор привязан к конкретному режиму графического редактора (например, документу, виду), поэтому вы не сможете использовать один и тот же итератор для навигации в разных видах, штампах и т.п. Итератор сохраняет свое действие до окончания сеанса работы с библиотекой. При переходе внутри библиотечной функции под управление КОМПАС-ГРАФИК, после возврата значение всех итераторов будет сброшено.
2. Итератор работает с атрибутами активного документа.
В случае движения по всем объектам или при движении по объектам определенного типа, можно определить порядок выдачи не только в порядке создания объектов как было прежде, но и в порядке отрисовки.
Для этого searchType нужно задать с минусом.
Например:
MACRO_OBJ - движение по макроэлементам в порядке создания;
-MACRO_OBJ - движение по макроэлементам в порядке отрисовки.
Для движения по всем объектам в порядке отрисовки в таблице Типы графических документов служит константа ALL_OBJ_SHOW_ORDER -1000 - все объекты, которые могут входить в вид, в порядке отрисовки.
Например:
ALL_OBJ - движение по всем объектам в порядке создания.
ALL_OBJ_SHOW_ORDER - движение по всем объектам в порядке отрисовки.
Подразделы:
(отсутствуют)