![]() |
Форум visio.getbb.ru |
О форумах
Библиотека | Частые вопросы | Литература | Склад материалов Visio Navigator | Blog | Полезные ссылки | О сайте История Visio | Продукты Visio |
Для русскоязычных пользователей Visio. Начинающих и профессионалов. Где взять, как сделать, что купить и т.д. |
06.08.2017
17.03.2008
Как выделить фигуры на слое?
Подскажите, как программным образом, произвести выделение определенных фигур на каком-то определенном слое.
Как я понимаю, делается это долго и нудно. Селектированные шейпы являются членами коллекции Selection. (Window/Selection). Коллекция слоев относится к странице документа Document/Page/Layers. Привязка шейпа к слою определяется в секции Layer Membership. Вот и получается, что нужно найти индекс нужного слоя, а потом перебирать все шейпы на странице и проверять, не относятся ли они к нужному слою. А уж если относятся, то включать их в коллекцию Selection методом Select от окна. Типа winObj.Select shpObj,visSelect где winObj - окно shpObj - селектируемый шейп visSelect - константа такая. Чтобы другие не мешались, возможно придется также использовать visDeselect или visDeselectAll. Да, если хочется еще и только определенные шейпы выбрать, то вдобавок нужно проверять, такой ли это шейп, например, по имени.