Всем здрасьте.
Имеется:
- редактор WinCC v7.5 Graphic Designer.
- отрисованы с технологической красотой 6 окон/экранов .pdl
- в шапке каждого она есть кнопки-меню для переключения между экранами
Как оформить кнопку текущего активного окна?
По какому параметру/критерию/тегу можно изменять оформление кнопки на текущем экране?
Спасибо.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Активный пункт меню
Модератор: Глоб.модераторы
-
- освоился
- Сообщения: 208
- Зарегистрирован: 16 дек 2011, 15:13
- Имя: Алексей
- Страна: Россия
- Благодарил (а): 67 раз
- Поблагодарили: 53 раза
Активный пункт меню
Обычно создаю тег int (screenNumber) и по нажатию кнопки присваиваю значение ему определенное.
А в свойствах Backround Color создаю скрипт (vb action), триггером которого является изменение указанного тега. В скрипте сравниваю значение тега с тем, которое присвоено кнопке и раскрашиваю BackColor нужным цветом. Это самый простой путь.
А так - у меня Start.pdl стартовый экран, на котором лежит два Picture Window (один внизу - для кнопок с отдельной pdl - Toolbar.pdl,
второй picture Window практически во все окно - в нем отображаются pdl мнемосхемы).
Выглядит вот так: По нажатию кнопки в Toolbar.pdl я скриптом добираюсь до ViewScreen.pdl и в нем открываю необходимый pdl.
А в качестве кнопок использую Faceplate, в котором есть кнопка и ряд тегов (например для индекса кнопки, имени окна которое откроет эта кнопка и проч).
А в свойствах Backround Color создаю скрипт (vb action), триггером которого является изменение указанного тега. В скрипте сравниваю значение тега с тем, которое присвоено кнопке и раскрашиваю BackColor нужным цветом. Это самый простой путь.
А так - у меня Start.pdl стартовый экран, на котором лежит два Picture Window (один внизу - для кнопок с отдельной pdl - Toolbar.pdl,
второй picture Window практически во все окно - в нем отображаются pdl мнемосхемы).
Выглядит вот так: По нажатию кнопки в Toolbar.pdl я скриптом добираюсь до ViewScreen.pdl и в нем открываю необходимый pdl.
А в качестве кнопок использую Faceplate, в котором есть кнопка и ряд тегов (например для индекса кнопки, имени окна которое откроет эта кнопка и проч).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
Активный пункт меню
В каком смысле оформить?
Да по всем доступным
Что конкретно Вы хотите реализовать?
-
- освоился
- Сообщения: 222
- Зарегистрирован: 19 сен 2019, 10:09
- Имя: Макс
- Страна: Россия
- город/регион: Славянск-на-Кубани
- Благодарил (а): 5 раз
- Поблагодарили: 38 раз
Активный пункт меню
Что-то у вас очень сложно.LexSL писал(а): ↑17 ноя 2021, 15:14 Обычно создаю тег int (screenNumber) и по нажатию кнопки присваиваю значение ему определенное.
А в свойствах Backround Color создаю скрипт (vb action), триггером которого является изменение указанного тега. В скрипте сравниваю значение тега с тем, которое присвоено кнопке и раскрашиваю BackColor нужным цветом.
sample.gif
Это самый простой путь.
А так - у меня Start.pdl стартовый экран, на котором лежит два Picture Window (один внизу - для кнопок с отдельной pdl - Toolbar.pdl,
второй picture Window практически во все окно - в нем отображаются pdl мнемосхемы).
Выглядит вот так:
3.png
По нажатию кнопки в Toolbar.pdl я скриптом добираюсь до ViewScreen.pdl и в нем открываю необходимый pdl.
А в качестве кнопок использую Faceplate, в котором есть кнопка и ряд тегов (например для индекса кнопки, имени окна которое откроет эта кнопка и проч).
Почему например нельзя просто заливать нажатую кнопку синим цветом, а все остальные серым? Менять свойство PictureName "ОКНО КАДРА" при нажатии на ту или иную кнопку? Зачем вешать скрипты на свойства? Зачем нужно создавать теги?
WinCC 7.4 SP1 Upd15, Step5.6
-
- освоился
- Сообщения: 290
- Зарегистрирован: 09 авг 2016, 13:49
- Имя: Чистилин Андрей Анатольевич
- Страна: Россия
- город/регион: Малоярославец
- Благодарил (а): 31 раз
- Поблагодарили: 36 раз
Активный пункт меню
Насколько я знаю (я работал только с WinCC Flexible) у взрослого WinCC, эран и окна это разные вещи. У вас в каждом окне копии кнопок, или вы имеете в виду одельное окно с кнопками? типа меню бар? Если в каждом окне, как у меня в простых проектах (6 экранов это простой проект) то быстрее всего создать в каждом окне копии кнопок а соотвествующюю кнопку на соотвествущем экране вы потом просто "выделяете" изменяя или цвет или форму или окантовку и т.д. Если под кнопки у вас отдельное окно (toolbar) то рецепт выше уже дан.
-
- здесь недавно
- Сообщения: 36
- Зарегистрирован: 27 июл 2020, 12:40
- Имя: Илья
- Страна: Узбекистан
- город/регион: Ташкент
- Благодарил (а): 1 раз
- Поблагодарили: 7 раз
Активный пункт меню
Да, вот этот путь уже исследую.LexSL писал(а): ↑17 ноя 2021, 15:14 Обычно создаю тег int (screenNumber) и по нажатию кнопки присваиваю значение ему определенное.
А в свойствах Backround Color создаю скрипт (vb action), триггером которого является изменение указанного тега. В скрипте сравниваю значение тега с тем, которое присвоено кнопке и раскрашиваю BackColor нужным цветом.
sample.gif
Это самый простой путь.
А так - у меня Start.pdl стартовый экран, на котором лежит два Picture Window (один внизу - для кнопок с отдельной pdl - Toolbar.pdl,
второй picture Window практически во все окно - в нем отображаются pdl мнемосхемы).
Выглядит вот так:
3.png
По нажатию кнопки в Toolbar.pdl я скриптом добираюсь до ViewScreen.pdl и в нем открываю необходимый pdl.
А в качестве кнопок использую Faceplate, в котором есть кнопка и ряд тегов (например для индекса кнопки, имени окна которое откроет эта кнопка и проч).
Т.к. у меня по нажатию на кнопку происходит событие OnClick и перенаправляет на другой экран, вариант со сравнением значений тега имеет место быть.
Но, как сказал makesstr, заливка нажатой кнопки в рамках одного экрана - да, а при переходе на другой экран!?
А так, да, спасибо за наводку
-
- освоился
- Сообщения: 208
- Зарегистрирован: 16 дек 2011, 15:13
- Имя: Алексей
- Страна: Россия
- Благодарил (а): 67 раз
- Поблагодарили: 53 раза
Активный пункт меню
В том то и дело, что у меня под навигацию - отдельный pdl, на котором BackColor кнопки привязан на скрипт сравнения значения. И это значение я устанавливаю по Click.
Кому-как, а я структуру видеокадров один раз прорисовал, нужные кнопки расставил и все.
Например, нужно поменять цвет на всех кнопках - > по Вашему открывать все pdl, где есть навигация и там менять.
У меня же открывается один pdl. Да и то, цвет меняется вообще в одном месте - в скрипте, который назначен на все кнопки!