Сложное изменение цвета

<< Click to Display Table of Contents >>

Навигация  Примеры > Изменение цвета объекта >

Сложное изменение цвета

Previous pageReturn to chapter overviewNext page

Рассмотрим следующий пример: у вас есть большое количество объектов одного типа (мотор), у которых есть несколько режимов работы (State), и Вам нужно отображать на экране мотор с цветом в зависимости от установленного режима работы.

Т.к. у нас есть множество однотипных объектов , будем использовать косвенные имена для привязки тегов, основанные на пользовательских свойствах.

1 . Для начала создадим теги (по количеству объектов).

 

 

tagsforcomplexexample

 

2. Создадим для нашего примера графический объект Мотор:

 

clip0029

 

 

3. В свойствах объекта настроим пользовательское свойство Number и присвоим ему значение "1", т.к. бyдем привязывать к State1:

 

motorpropertieswindow

complexudp

 

Для сохранения данного пользовательского свойства нажмите "OK".

 

4. Далее привяжем объект к State1. Откроем окно свойств объекта заново, выберем вкладку "Цвет заливки". Затем в поле "Тег" (нажимаем на кнопку "...")  и в открывшемся окне в поле "Имя тега" укажем State{Number} , где Number - наше пользовательское свойство (значение которому мы установили "1" - для первого объекта):

 

complexfilltab

choosetagcomplex

 

5. Убедимся, что наш объект привязан к State1 (сохраним Свойства объекта путем нажатия "OK") и откроем окно "Свойства объекта" заново.

6. Итак, свойство "Цвет заливки" привязано к тегу State1. Теперь зададим Цвет объекта в зависимости от значения этого тега:

 

State1

Цвет

0

RED

1

GREEN

2

YELLOW

 

Выберем Тип "TagPV в диапазоне" и зададим цвета для значений тега:

 

complexfilltab2

rangecomplesflash

 

Теперь у нас есть Мотор с настройкой свойства Цвет заливки.

 

7. Теперь нам нужно создать такие же объекты с такими же настройками. Т.к. мы использовали косвенные имена, основанные на пользовательских свойствах, для привязки тегов, нам не нужно настраивать свойство "Цвет заливки" для каждого вновь создаваемого объекта (нет надобности в каждом объекте заново задавать диапазоны). Нам нужно продублировать Мотор ("Дублировать") и привязать его к тегу путем указания значения пользовательского свойства Number, которое соответвует тегу. Быстрее всего это сделать в Листе свойств

Подтвердите изменения и закройте окно свойств объекта, нажав OK. . Чтобы скопировать этот мотор и привязать свойство цвета заливки к тегам - State2 и State3 вам не нужно настраивать свойство цвета заливки для каждого Мотора, вам нужно только продублировать Мотор:

 

complexduplicate1

 

И изменить в Листе свойств: значение пользовательского свойства Number в зависимости от того, к какому тегу нужно привязать объект

 

complexpropertysheet

 

8. Создадим необходимое количество объектов способом, указанным в предыдyщем шаге.

9. Запустим имитацию, чтобы проверить настройки:

 

complexrunsim1

 

Вы можете скачать проект из примера здесь.