Author |
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
|
Да нет, вроде все как раз так и делается... Иногда, конечно, возникает желание записывать топологию в какие-нибудь отдельные массивы и работать с ними. Но тут нужна точность в синхронизации рисунка и этих массивов. Хотя, если ее один раз хорошо решить... Например, на всякий случай сравнивать массивы и рисунок при открытии и при записи файла... |
|
|
AlexeyM
Russia
4 Posts |
Posted - 02/04/2005 : 08:24:25
|
Спасибо |
|
|
|
Topic |
|
|
|