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

pav

6 Posts

Posted - 08/19/2004 :  14:49:06
Нужно создать универсальный коннектор, который будет изменять свой цвет и начертание в зависимости от значений пользовательских свойств.
Я так понимаю без программирования не обойтись. Скажите с чего начать и куда грести? Как прикрепить программный код к МастерШейпу?
Может у кого уже есть что-то подобное. Предполагаю использовать при рисовании схем ЛВС.
Заранее спасибо.

Tumanov

Russia
1198 Posts

Posted - 08/19/2004 :  17:53:08
Все зависит от того, какие у него пользовательские свойства, точнее от того, как формализуется зависимость цвета от свойства. Вполне возможно, что можно обойтись и без программирования - обычной формулой в шейп-листе (Shape Sheet).
В простейшем случае в ячейку FillForegnd записывается формула =Prop.Row_1, после чего изменение числа в первом пользовательском свойстве сразу перекрашивает шейп.
Go to Top of Page

pav

6 Posts

Posted - 08/20/2004 :  05:34:57
Если конкретно, то требуется следующее:
Создается пользовательское свойство "Технология" значения которого берутся из списка "Ethernet;Fast Ethernet;Gigabit Ethernet".
В зависимости от выбранного значения должен меняться цвет коннектора.
Go to Top of Page

immortal

Russia
391 Posts

Posted - 08/20/2004 :  06:10:19  Visit immortal's Homepage
в ячейке где задектся цвет (FillForegnd)
=if(Prop.Row_1="Ethernet",цвет Ethernet,if(Prop.Row_1="Fast Ethernet",цвет Fast Ethernet,цвет Gigabit Ethernet))
проверено в 2003

где Prop.Row_1 это ваша "Технология"
--------
визио 2003 форэвер
Go to Top of Page

pav

6 Posts

Posted - 08/20/2004 :  12:57:13
А какое максимальное количество вложений IF?
Go to Top of Page

pav

6 Posts

Posted - 08/20/2004 :  15:03:08
Пока значения поля Prop.Row_1 цифровое - все работает.
Как только появляются буквы - нет. ????
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 08/20/2004 :  16:00:12
=if(StrSame(Prop.Row_1;"Ethernet");0;if(StrSame(Prop.Row_1;"Fast Ethernet");1;2))
Число вложений не ограничивается. Есть ограничение на длину строки, но оно большое...
Go to Top of Page

pav

6 Posts

Posted - 08/23/2004 :  07:00:31
Большое спасибо! Все работает.
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 09/16/2004 :  08:25:58  Visit Digitall's Homepage
quote:
Originally posted by pav

Если конкретно, то требуется следующее:
Создается пользовательское свойство "Технология" значения которого берутся из списка "Ethernet;Fast Ethernet;Gigabit Ethernet".
В зависимости от выбранного значения должен меняться цвет коннектора.


Можно еще так:
Свойство сделать фиксированным списком.
Создать пользовательское свойство и внести "=LOOKUP(Prop.Row_1;Prop.Row_1.Format)"
А в цвет линии "=User.Row_1"
Тогда будет цвет из стандартных...
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)