Скрытие элемента массива
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Скрытие элемента массива
Свойтство visible - это элемент оформления контрола. Оформление у всех элементов массива контролов (индикаторов) - одинаковое. Что делать? Оформить контролы как индивидуальные. Завести массив ссылок, с которым уже обращаться как с массивом (см, например, http://labviewportal.org/viewtopic.php?p=44197#p44197)
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Скрытие элемента массива
Если нужно скрывать для оформления, то можно сделать массив кластеров, в каждом из которых кроме полезной информации (контрола) положить на самый верх самодельную кнопку, в одном состоянии она будет окрашена в цвет фона массива, а в другом прозрачна, эту кнопку надо задизейблить, чтоб в закрытом состоянии она не пускала к контролу и сама не переключалась. И структура массива сохранитя и будет видимость скрытия элемента. Причем можно сделать еще хитрее, в одно состоянии "шторки положить элемент декорации с заливкой, а в другой рамку, тогда в открытом состоянии ячейку еще и можно будет редактировать совершенно обычным способом :) Извиняюсь, что так поздно ответил, просто может кому пригодится. Вот пример
- Вложения
-
- Шторка.vi
- (15.86 КБ) 150 скачиваний
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Скрытие элемента массива
Есть проблема в том, что если включен автошкалинг, при изменении размеров формы все разъедется. Причем при работе приложения.
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Скрытие элемента массива
У меня, кстати, ничего не разъезжается (по крайней мере в lv 2012). Вот какой смысл в этом автосайзе? В нем вообще все уродуется. Ккакой смысл, если шрифты остаются те же, а все кнопки искажаются. Это какая-то не очень полезная функция
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Скрытие элемента массива
И почему должно "Разъехаться"? Все составляющие кластера также будут смещаться и масштабироваться как и все остальное. Так что проблемы никакой нет
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Скрытие элемента массива
Автосшкалинг нужен если приложение работает на оборудовании с различными диагоналями мониторов. Если приложение на одном рабочем месте, то тогда действительно, никаких проблем
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Скрытие элемента массива
Если приложение разработано для большого монитора, то уменьшить для маленького не выйдет, а еще есть такое понятие, как пропорции Разные мониторы - разные пропорции 16:9, 16:10, 3:4. Все будет гнуться и искажаться. Замечательно, что такая функция есть, но далеко не всегда ее можно применить. Но, насчет моего примера, разве у вас что-то разъезжается при масштабировании? Я разворачивал на 1920х1080, пропорции погнулись, но сам массив принципиально не изменился, увеличились расстояния между ячейками. Это вы называете "разъехалось"?
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Скрытие элемента массива
В общем, проблем со взаимным расположением элементов в кластере - выше крыши. Это и масштабирование и изменение тайпдефа и изменение размеров компонентов при запуске приложения на машинах с разными системными шрифтами и некратными размерами этих шрифтов. При разработке - размеры могут быть одинаковыми, а на собранном приложении - разбегается. Другое дело, что можно запас заложить....
Кстати, что это за компонент? Вы сами дорабатывали? Простая кнопка не дает возможности устанавливать фокус на компоненты за ней.
Кстати, что это за компонент? Вы сами дорабатывали? Простая кнопка не дает возможности устанавливать фокус на компоненты за ней.
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Скрытие элемента массива
Это моё открытие :) Случайно нашел, что картинка внутренней лабвьюшной графики типа рамка (то есть без фона) в качестве состояния кнопки не загораживает элементы за кнопкой, причем, если в противоположное состояние засунуть картинку растровой графики, пусть даже просто прозрачный фон, то элементы за кнопкой будут недоступны, этакая альтернатива дизейбла, невидимости и прочих надобностей :) Реально применяю, иногда без этого никак. Особенно когда работаешь с массивом кластеров, в котором надо обрабатывать событие на внутренних элементах вложенного в массив кластера, но только в определенной ячейке массива. Делаю редактор сценария для управления сценической механикой. Тайм линия из кадров, кадры с параметрами, тыкаешь пальцем - выбираешь кадр, потом в том же кадре тыкаешь пальцем - меняешь содержимое, причем содержимое - просто картинки да тексты, а меняется реально сценарий, в котором числа, да булевы. В кадрах есть и анимация в том числе. В общем, извините за выражение, полная жопа. Такие вещи на лабвью лучше не делать. Но у меня безвыходная ситуация, я больше никаких языков не разумею :)
Если интересно, могу выложить проект для ознакомления. Стратегической ценности он не представляет
Если интересно, могу выложить проект для ознакомления. Стратегической ценности он не представляет
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Скрытие элемента массива
Один комп управляет 23 механизмами по canopen, сценическим кругом по 485 протоколу modbus, плюс дискретные входы выходы. И всё это по ethernet через различные шлюзы и модули. То есть комп подключен к оборудованию одним шнурком Ethernet (или вай фай, что не рекомендуется мною)
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Скрытие элемента массива
Эту рамку надо скинуть куда-нибудь в соответствующую тему, либо создать в разделе "Лицевая панель"
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 380 Просмотры
-
Последнее сообщение Sergey Puzanov
-
- 5 Ответы
- 1017 Просмотры
-
Последнее сообщение dadreamer
-
- 5 Ответы
- 969 Просмотры
-
Последнее сообщение seromax