Slide's Event с цифровым дисплеем
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Slide's Event с цифровым дисплеем
Возможно уже было, но не смогла найти на форуме. Юзер использует тачскрин (не мышку). Возможно ли как то определить в каком месте на слайдере тапнул пользователь - на цифровом дисплее или пытается подвигать ползунок? Дело в том что отслеживая событие Mouse Down, вызывается NumPad, где пользователь вводит значение. Я бы хотела что бы сохранялась возможность изменить значение двигая ползунок. В приатаченном VI, Событие Mouse Down вызывается вне зависимости где тапнул пользователь, а хотелось бы чтобы оно вызывалось только по клику на цифровом дисплее.
P.S. Можно конечно дополнительно разметсить Numeric Control и отслеживать событие там и по value change изменять значение на слайдере. Но хотелось бы обойтись только слайдером. Спасибо
P.S. Можно конечно дополнительно разметсить Numeric Control и отслеживать событие там и по value change изменять значение на слайдере. Но хотелось бы обойтись только слайдером. Спасибо
- Вложения
-
- Untitled 1.vi
- (7.37 КБ) 33 скачивания
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Slide's Event с цифровым дисплеем
Зарегистрируйте событие по ссылке на Digital Display.
Мы делили апельсин - много наших полегло...
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Slide's Event с цифровым дисплеем
Спасибо, то что нужно!
UPD. Обнаружилась одна неприятная особенность, чтобы зарегистрировать событие Mouse Down фронтальная панель обязательно должна быть отркрыта.
UPD. Обнаружилась одна неприятная особенность, чтобы зарегистрировать событие Mouse Down фронтальная панель обязательно должна быть отркрыта.
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Slide's Event с цифровым дисплеем
А как Вы хотите ее использовать?
Мы делили апельсин - много наших полегло...
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Slide's Event с цифровым дисплеем
Просто последовательность запуска такая, первоначально инициализируется все железо, а затем показывается главное окно. Теперь же пришлось показать его сразу, иначе выскакивает ошибка.
Понимаю что это другая тема и это врядли связано с предложеной модификацией, но отношение к этому имеет. Суть вот в чем: Пользователь тапнул по цифровому дисплею - вызвался нумпад (в него передался reference контрола, по которому тапнули) - он ввел значение и кликнул Ок. В этот момент NumPad.vi используя переданный reference при запуске, записывает в его property node Value(Signaling) введенное значение.
Ну и вот, в главном окне, генерируется событие value change меняется значение на цифровом дисплее, а ползунок слайдера остается на месте! Долго не могла понять в чем дело, пока случайно не подвигала открытое окно панели. Т.е. за заголовок окна я передвигаю это окно чтобы слайдер вышел за пределы монитора, затем возвращаю обратно и ползунок становится в правильную позицию. Типа графика не перерысовывается. Как с этим бороться и как заставить Windows обновить окошко? Спасибо
-
- professor
- Сообщения: 3407
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Slide's Event с цифровым дисплеем
Ну вопрос вполне обоснован, я сам с таким сталкивался: есть ряд модальных или плавающих окон, которые открываются не сразу.
Вариант решения - отложенная регистрация, но надо заморочиться с отловом момента открытия окна
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Slide's Event с цифровым дисплеем
Попробуйте перед обновлением значения по ссылке заблокировать перерисовку передней панели (DeferPanelUpdates), а после обновления разблокировать.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Slide's Event с цифровым дисплеем
jane_wild, можете также попробовать
- Вложения
-
- Untitled 1.vi
- lv2019
- (7.23 КБ) 33 скачивания
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Slide's Event с цифровым дисплеем
Странно, я набросал такой пример, все работает. Хотя спорить не буду, подобную проблему я видел с TestStand контролами.
- Вложения
-
- Launch.vi
- (7.82 КБ) 32 скачивания
-
- Untitled 1.vi
- (12.45 КБ) 29 скачиваний
Мы делили апельсин - много наших полегло...
-
taras_33
- professional
- Сообщения: 392
- Зарегистрирован: 31 окт 2009, 18:25
- Награды: 1
- Версия LabVIEW: 2019
- Поблагодарили: 13 раз
- Контактная информация:
Re: Slide's Event с цифровым дисплеем
Если ссылка берется в event structure прямо из кейса mouse down, то эта ссылка на его дисплей, а не на сам слайдер. Если это так, то попробуйте ПКМ на слайдере -> create reference и использовать эту ссылку.
Хотя по идее движок слайдера должен обновляться и через дисплей....
Хотя по идее движок слайдера должен обновляться и через дисплей....
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
So far, the Universe is winning!
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Slide's Event с цифровым дисплеем
"Взяла работу на дом" и во время больших выходных создала тестовый проект (см вложение), чтобы проверить все выше изложенные рекомендации.
Всё из предложенного работает. Использовать DeferPanelUpdates не совсем удобно поскольку во время набора блокируется обновление всей панели и создается впечатление что программа зависла. Для испльзования Panel Ivalidate нужен property node, впрочем как и для DeferPanelUpdates. Поэтому на мой взгляд применение reference слайдера является самым удобным.
Отдельное спасибо Артему за "отложенную регистрацию". Теперь все работает как и планировалось.
Всем большое спасибо!
Всё из предложенного работает. Использовать DeferPanelUpdates не совсем удобно поскольку во время набора блокируется обновление всей панели и создается впечатление что программа зависла. Для испльзования Panel Ivalidate нужен property node, впрочем как и для DeferPanelUpdates. Поэтому на мой взгляд применение reference слайдера является самым удобным.
Отдельное спасибо Артему за "отложенную регистрацию". Теперь все работает как и планировалось.
Всем большое спасибо!
- Вложения
-
- Test.zip
- (251.45 КБ) 27 скачиваний
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 6 Ответы
- 234 Просмотры
-
Последнее сообщение Artem.spb