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