Показать контрол

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
Juri
I/O
I/O
Сообщения: 208
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2018
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Показать контрол

Сообщение Juri »

Можно ли программно произвести действие, аналогичное тому, когда дважды щелкаешь по контролу на блок-диаграмме. Чтобы мигнул нужный мне контрол и чтобы на передний план переместилось окно, в котором этот контрол лежит и еще чтобы этот контролл стал выделенным
Аватара пользователя
dadreamer

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

Re: Показать контрол

Сообщение dadreamer »

Object Highlight делает часть работы, но остальное надо делать "ручками". Пример: https://lavag.org/topic/22032-anyone-ha ... ent=135602 Мне кажется, в :labview: должен быть какой-то приватный способ найти объект (DDO) по ссылке, но я сходу ничего не нашёл.
Последний раз редактировалось dadreamer 05 авг 2022, 13:54, всего редактировалось 1 раз.
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1223
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 29 раз
Контактная информация:

Re: Показать контрол

Сообщение Kosist »

dadreamer писал(а): 02 авг 2022, 18:59 Мне кажется, в :labview: должен быть какой-то приватный способ найти объект (DDO) по ссылке, но я сходу ничего не нашёл.
VI Scripting палета (https://www.ni.com/docs/en-US/bundle/la ... pting.html) содержит такую функцию, Traverse for GObjects.vi. Если есть ссылка на объект, то можно или по ссылке сравнивать, либо узнать Label и тип, и отфильтровать по ним.
Мы делили апельсин - много наших полегло...
Аватара пользователя
dadreamer

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

Re: Показать контрол

Сообщение dadreamer »

Kosist, я немного неверно выразился. Имел ввиду действие, которое :labview: выполняет по дабл-клику в окне Search Results, например, или по кнопочке F в Heap Peek, т.е. восстанавливает и переводит на передний план окно панели/диаграммы, подсвечивает объект, переводит на него клавиатурный фокус и выделяет рамкой из "бегущих муравьёв". Попробуйте, проще один раз увидеть :) Метод Object Highlight только подсвечивает объект, остальные вещи не делает. Вот, я думал, что раз эта операция в :labview: много где используется, должна быть функция или :vi: , ответственные за это. И функция такая есть, однако она не экспортируется.
2022-08-05_15-43-46.jpg
Так что единственный вариант - это делать всё описанное вручную. Хотя работы там не очень много, на самом деле.
Аватара пользователя
Juri
I/O
I/O
Сообщения: 208
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2018
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Показать контрол

Сообщение Juri »

FP.Open и ObjHighlight показывают vi и подсвечивают контрол. Ссылка на контрол у меня имеется. А как сделать чтобы контрол встал в клавиатурный фокус, чтобы например в таблице, без дополнительного щелчка мышью по контролу можно было сразу нажимать на клавиатуре стрелку вниз и текущее значение таблицы менялось.

upd. Все понял KeyFocus
Ответить

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