Author |
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, после чего изменение числа в первом пользовательском свойстве сразу перекрашивает шейп.
|
|
|
pav
6 Posts |
Posted - 08/20/2004 : 05:34:57
|
Если конкретно, то требуется следующее: Создается пользовательское свойство "Технология" значения которого берутся из списка "Ethernet;Fast Ethernet;Gigabit Ethernet". В зависимости от выбранного значения должен меняться цвет коннектора. |
|
|
immortal
Russia
391 Posts |
Posted - 08/20/2004 : 06:10:19
|
в ячейке где задектся цвет (FillForegnd) =if(Prop.Row_1="Ethernet",цвет Ethernet,if(Prop.Row_1="Fast Ethernet",цвет Fast Ethernet,цвет Gigabit Ethernet)) проверено в 2003
где Prop.Row_1 это ваша "Технология" -------- визио 2003 форэвер |
|
|
pav
6 Posts |
Posted - 08/20/2004 : 12:57:13
|
А какое максимальное количество вложений IF? |
|
|
pav
6 Posts |
Posted - 08/20/2004 : 15:03:08
|
Пока значения поля Prop.Row_1 цифровое - все работает. Как только появляются буквы - нет. ???? |
|
|
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)) Число вложений не ограничивается. Есть ограничение на длину строки, но оно большое... |
|
|
pav
6 Posts |
Posted - 08/23/2004 : 07:00:31
|
Большое спасибо! Все работает. |
|
|
Digitall
Russia
389 Posts |
Posted - 09/16/2004 : 08:25:58
|
quote: Originally posted by pav
Если конкретно, то требуется следующее: Создается пользовательское свойство "Технология" значения которого берутся из списка "Ethernet;Fast Ethernet;Gigabit Ethernet". В зависимости от выбранного значения должен меняться цвет коннектора.
Можно еще так: Свойство сделать фиксированным списком. Создать пользовательское свойство и внести "=LOOKUP(Prop.Row_1;Prop.Row_1.Format)" А в цвет линии "=User.Row_1" Тогда будет цвет из стандартных... |
|
|
|
Topic |
|