Деактивация кнопок

Простейшие вопросы в области инженерной разработки
Alex54321
interested
interested
Сообщения: 6
Зарегистрирован: 02 сен 2013, 12:47
Версия LabVIEW: 12
Контактная информация:

Деактивация кнопок

Сообщение Alex54321 »

Всем добрый день. Вопрос таков: на передней панели имеются 40 кнопочек, которые по нажатию 41-й должны деактивироваться, а по нажатию 42-й - активироваться. Писать 2 раза по 40 свойств и записывать их по событию - как то неправильно . В кластер я их тоже объединить не могу: они разбиты на подгруппы и выполняют разные функции. Как сделать правильней и не громоздко ?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Деактивация кнопок

Сообщение dadreamer »

Можете испробовать какой-нибудь вариант из предложенных здесь: http://www.labviewportal.org/viewtopic. ... 72&p=51469 (радио-кнопки, event и т.д.). Или поместите ваши кнопки на невидимый Tab Control, а потом в цикле For деактивируйте их через Property/Invoke Nodes: http://digital.ni.com/public.nsf/allkb/ ... CD00768959
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5464
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Деактивация кнопок

Сообщение IvanLis »

dadreamer писал(а):поместите ваши кнопки на невидимый Tab Control, а потом в цикле For деактивируйте их через Property/Invoke Nodes
Можно создать массив с именами кнопок, которые необходимо активировать/деактивировать.
Пробежать по элементам панели и при совпадении с именем из массива изменять свойство.
Это наверное более гибко, чем невидимый элемент Tab Control.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Деактивация кнопок

Сообщение dadreamer »

IvanLis писал(а):Это наверное более гибко, чем невидимый элемент Tab Control.
Может быть, не так гибко, но компактно :wink:
02-09-2013 16-24-55.jpg
Вложения
Buttons.vi
LV2012
(9.85 КБ) 177 скачиваний
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Деактивация кнопок

Сообщение Jakob Brontfeyn »

я бы "занавеску повесил" на кнопки и делу конец.
Вложения
zanaveska.vi
(23.7 КБ) 222 скачивания
Alex54321
interested
interested
Сообщения: 6
Зарегистрирован: 02 сен 2013, 12:47
Версия LabVIEW: 12
Контактная информация:

Re: Деактивация кнопок

Сообщение Alex54321 »

Jakob Brontfeyn писал(а):я бы "занавеску повесил" на кнопки и делу конец.
Спасибо, этот вариант хорош, но не подходит, необходимо продолжать видеть статус кнопок. IvanLis, что то у меня по вашему варианту никак не получается, можно маленький примерчик ? Спасибо.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5464
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Деактивация кнопок

Сообщение IvanLis »

Alex54321 писал(а):что то у меня по вашему варианту никак не получается, можно маленький примерчик ? Спасибо.
на самом деле не все так громозко, особенно если в SubVI обернуть :wink:
Без имени.png
Без имени.png (7.07 КБ) 8876 просмотров
Untitled 1.vi
lv2010
(12.35 КБ) 171 скачивание
Untitled 2 (SubVI).vi
lv2010
(13 КБ) 172 скачивания
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Деактивация кнопок

Сообщение Jakob Brontfeyn »

Alex54321 писал(а):
Jakob Brontfeyn писал(а):я бы "занавеску повесил" на кнопки и делу конец.
Спасибо, этот вариант хорош, но не подходит, необходимо продолжать видеть статус кнопок. IvanLis, что то у меня по вашему варианту никак не получается, можно маленький примерчик ? Спасибо.
Хозяин барин, "занавеска" может быть
не только мышенепробиваемой но и
"стеклянной" то бишь прозрачной.
Вложения
zanaveska_Steklo.vi
(23.72 КБ) 203 скачивания
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1337
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 44 раза
Контактная информация:

Re: Деактивация кнопок

Сообщение AndreyDmitriev »

Jakob Brontfeyn писал(а): Хозяин барин, "занавеска" может быть
не только мышенепробиваемой но и
"стеклянной" то бишь прозрачной.
Не, не надо так делать. Пользователю надо явно показывать, что он не может воспользоваться контролом.

Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Деактивация кнопок

Сообщение Jakob Brontfeyn »

А как же хорошо видимая рамка и
надпись посредине DEAKTIVIROVANO крупным шрифтом...
Ну, если этого недостаточно, то, идя на встречу пожеланиям трудящихся,
можно сделать "занавеску" полупрозрачной, чтобы и кнопки просвечивались
и можно было различить их состояние, и, чтобы "занавеску" явно было видно.
Вложения
zanaveska_Steklo_poluprozrachnoe.vi
(27.68 КБ) 182 скачивания
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1337
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 44 раза
Контактная информация:

Re: Деактивация кнопок

Сообщение AndreyDmitriev »

Jakob Brontfeyn писал(а):А как же хорошо видимая рамка и
надпись посредине DEAKTIVIROVANO крупным шрифтом...
Ну, если этого недостаточно, то, идя на встречу пожеланиям трудящихся,
можно сделать "занавеску" полупрозрачной, чтобы и кнопки просвечивались
и можно было различить их состояние, и, чтобы "занавеску" явно было видно.
Даже при наличии рамки у пользователя фокус внимания будет на кнопку смещён. Ну и такой способ в какой-то мере вступает в конфликт с общей идеологией в Виндовс. Второй пример визуально, конечно лучше, но он не лишён недостатков, кроме того, там надо быть внимательным при разработке - ведь при добавлении кнопок их надо класть под занавеску, не забывать отключать выделение по Tab, ну и следить за размерами занавески, и т.д. Но для быстрого "отключения" группы контролов - почему бы и нет.
Alex54321
interested
interested
Сообщения: 6
Зарегистрирован: 02 сен 2013, 12:47
Версия LabVIEW: 12
Контактная информация:

Re: Деактивация кнопок

Сообщение Alex54321 »

Всем огромное спасибо,жутко понравились все варианты, особенно с прозрачной занавеской, обязательно возьму на вооружение :clap: . В рабочий проект пошел вариант IvanLis с массивом.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Деактивация кнопок

Сообщение Blackman »

В кластер я их тоже объединить не могу: они разбиты на подгруппы и выполняют разные функции.
Хочу добавить свои 5 коп.)
Решение похоже на предложенное dadreamer http://www.labviewportal.org/viewtopic. ... 862#p51846
Референс от любого члена группы. Удобно при работе с декорациями, группируя их с каким нибудь контролом.
Вложения
GroupMembersRef.PNG
Group Members Refs.vi
(19.88 КБ) 221 скачивание
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Деактивация кнопок

Сообщение Borjomy_1 »

Либо кинуть 40 кнопок на прозрачный таб и уже активировать-деактивировать его.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Деактивация кнопок

Сообщение dadreamer »

Blackman, я вижу, что у вас там используется Scripting Node. Эти блоки не поддерживаются/не работают в EXE.
Ответить

Вернуться в «Для чайников»