All Forums
 Категория Visio
 Форум Вопросы и ответы
 Соединения
Author Previous Topic Topic Next Topic  

AlexeyM

Russia
4 Posts

Posted - 02/02/2005 :  03:56:07
Вопрос у меня такой, как наилучшим образом определить с каким другим шейпом соединен рассматриваемый шейп через dynamic connector? Только недавно познакомился с визио и вба, поэтому не совсем уверен, что тот способ, которым я это делаю (определяю соединения шейпов), является достаточно адекватным. А делаю я это так:

1) Определяю очередной dynamic connector, который соединен с данным шейпом, а точнее количество объектов Connect в коллекции для данного dynamic connector:

ActivePage.Shapes(i).FromConnects(j).FromSheet.Connects.Count

Если это значение меньше 2, то данный dynamic connector соединен только с рассматриваемым шейпом ActivePage.Shapes(i), т.е. на другом его конце нет никакого шейпа. В этом случае переходим к следующему dynamic connector, т.е. ActivePage.Shapes(i).FromConnects(j+1).

2)Сравнивая ID текущего шейпа ActivePage.Shapes(i).ID и

ActivePage.Shapes(i).FromConnects(j).FromSheet.Connects(1).ToSheet.ID

Определяю какой объект Connects(1) или Connects(2) нужно использовать, чтобы получить шейп на другом конце dynamic connector.

Вобщем знаний пока не много и поэтому хотелось бы спросить у знающих людей, нет ли более прямого способа.

Tumanov

Russia
1198 Posts

Posted - 02/02/2005 :  19:56:47
Да нет, вроде все как раз так и делается...
Иногда, конечно, возникает желание записывать топологию в какие-нибудь отдельные массивы и работать с ними. Но тут нужна точность в синхронизации рисунка и этих массивов. Хотя, если ее один раз хорошо решить... Например, на всякий случай сравнивать массивы и рисунок при открытии и при записи файла...
Go to Top of Page

AlexeyM

Russia
4 Posts

Posted - 02/04/2005 :  08:24:25
Спасибо
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)