Показать контрол
- Juri
- I/O
- Сообщения: 208
- Зарегистрирован: 19 апр 2017, 23:06
- Версия LabVIEW: 2018
- Благодарил (а): 10 раз
- Поблагодарили: 4 раза
Показать контрол
Можно ли программно произвести действие, аналогичное тому, когда дважды щелкаешь по контролу на блок-диаграмме. Чтобы мигнул нужный мне контрол и чтобы на передний план переместилось окно, в котором этот контрол лежит и еще чтобы этот контролл стал выделенным
-
dadreamer
- professor
- Сообщения: 3802
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2021
- Благодарил (а): 6 раз
- Поблагодарили: 81 раз
- Контактная информация:
Re: Показать контрол
Object Highlight делает часть работы, но остальное надо делать "ручками". Пример: https://lavag.org/topic/22032-anyone-ha ... ent=135602 Мне кажется, в
должен быть какой-то приватный способ найти объект (DDO) по ссылке, но я сходу ничего не нашёл.

Последний раз редактировалось dadreamer 05 авг 2022, 13:54, всего редактировалось 1 раз.
-
Kosist
- expert
- Сообщения: 1223
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 29 раз
- Контактная информация:
Re: Показать контрол
VI Scripting палета (https://www.ni.com/docs/en-US/bundle/la ... pting.html) содержит такую функцию, Traverse for GObjects.vi. Если есть ссылка на объект, то можно или по ссылке сравнивать, либо узнать Label и тип, и отфильтровать по ним.
Мы делили апельсин - много наших полегло...
-
dadreamer
- professor
- Сообщения: 3802
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2021
- Благодарил (а): 6 раз
- Поблагодарили: 81 раз
- Контактная информация:
Re: Показать контрол
Kosist, я немного неверно выразился. Имел ввиду действие, которое
выполняет по дабл-клику в окне Search Results, например, или по кнопочке F в Heap Peek, т.е. восстанавливает и переводит на передний план окно панели/диаграммы, подсвечивает объект, переводит на него клавиатурный фокус и выделяет рамкой из "бегущих муравьёв". Попробуйте, проще один раз увидеть :) Метод Object Highlight только подсвечивает объект, остальные вещи не делает. Вот, я думал, что раз эта операция в
много где используется, должна быть функция или
, ответственные за это. И функция такая есть, однако она не экспортируется. Так что единственный вариант - это делать всё описанное вручную. Хотя работы там не очень много, на самом деле.



- Juri
- I/O
- Сообщения: 208
- Зарегистрирован: 19 апр 2017, 23:06
- Версия LabVIEW: 2018
- Благодарил (а): 10 раз
- Поблагодарили: 4 раза
Re: Показать контрол
FP.Open и ObjHighlight показывают vi и подсвечивают контрол. Ссылка на контрол у меня имеется. А как сделать чтобы контрол встал в клавиатурный фокус, чтобы например в таблице, без дополнительного щелчка мышью по контролу можно было сразу нажимать на клавиатуре стрелку вниз и текущее значение таблицы менялось.
upd. Все понял KeyFocus
upd. Все понял KeyFocus