All Forums
 Категория Visio
 Форум Вопросы и ответы
 Определение количества шейпов на слое
Author Previous Topic Topic Next Topic  

Lermontov

Russia
2 Posts

Posted - 11/27/2002 :  13:19:26
Прошу помочь с программным кодом в MS Visual Basic для определения количества и какие шейпы расположенны на слое.

Tumanov

Russia
1198 Posts

Posted - 11/27/2002 :  14:47:14
В общих чертах (с примером) эта тема затрагивалась в FAQ и в Загрузке также есть пример подсчета количества шейпов.
Если эти примеры не устраивают, напишите конкретнее - что именно требует пояснения.
Если проблема именно в слоях, то обсуждался похожий вопрос:
-------------
Подскажите, как программным образом, произвести выделение определенных фигур на каком-то определенном слое.
---
Селектированные шейпы являются членами коллекции Selection. (Window/Selection).
Коллекция слоев относится к странице документа Document/Page/Layers.
Привязка шейпа к слою определяется в секции Layer Membership.
Вот и получается, что нужно найти индекс нужного слоя, а потом перебирать все шейпы на странице и проверять, не относятся ли они к нужному слою. А уж если относятся, то включать их в коллекцию Selection методом Select от окна.
Типа winObj.Select shpObj,visSelect
где winObj - окно
shpObj - селектируемый шейп
visSelect - константа такая.
Чтобы другие не мешались, возможно придется также использовать visDeselect или visDeselectAll.
Да, если нужно еще и только определенные шейпы выбрать, то вдобавок нужно проверять, такой ли это шейп. Это делается либо по имени (если вам нужно выбрать экземпляры какого-то мастера), либо я уж не знаю как, но какой-то признак должен быть.
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)