Координаты мышки относительно VI
-
- assistant
- Сообщения: 111
- Зарегистрирован: 24 апр 2017, 22:27
- Версия LabVIEW: 2016
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Координаты мышки относительно VI
Доброго времени суток! Уважемые форумчане, не получается абсолютно точно вычислить координаты относительно панели, получается небольшое смещение,не понимаю почему так,если я что-то делаю не так,то прошу помощи в решении данного вопроса. Заранее благодарю.
- Вложения
-
- Coord.vi
- (17.65 КБ) 81 скачивание
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Координаты мышки относительно VI
Используйте события.
Panel Bounds - это окно без рамки (красная метка),
Вам нужно ещё использовать Win bounds - всё окно, включая заголовки/меню (синяя метка),
а положение элеме5нтов задаётся относительно Origin - чёрная полоска (на сетке есть точка в точке (0:0)) В итоге, примерно так:
- положение мыши скомпенсировать относительно положения окна
- скомпенсировать это относительно панели
- скомпенсировать на положение Origin
- там разместить объект
Если почему-то нужно "руками", то Panel Bounds - это окно без рамки (красная метка),
Вам нужно ещё использовать Win bounds - всё окно, включая заголовки/меню (синяя метка),
а положение элеме5нтов задаётся относительно Origin - чёрная полоска (на сетке есть точка в точке (0:0)) В итоге, примерно так:
- положение мыши скомпенсировать относительно положения окна
- скомпенсировать это относительно панели
- скомпенсировать на положение Origin
- там разместить объект
- Вложения
-
- coord2.vi
- (8.75 КБ) 77 скачиваний
-
- assistant
- Сообщения: 111
- Зарегистрирован: 24 апр 2017, 22:27
- Версия LabVIEW: 2016
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Координаты мышки относительно VI
Спасибо за отклик, способ через event мне конечно известен,но нужно,как вы выразились "руками", я думал у меня где-то ошибка в расчетах,оказывается нет, по поводу компенсации я думал,но нужно сделать ее автоматической ,а не в виде константы, на другом компьютере ,с другим рабочим столом ,могут быть вопросы.
-
- assistant
- Сообщения: 111
- Зарегистрирован: 24 апр 2017, 22:27
- Версия LabVIEW: 2016
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Координаты мышки относительно VI
Нашел решение!AndryG писал(а): ↑19 июл 2021, 22:32 Спасибо за отклик, способ через event мне конечно известен,но нужно,как вы выразились "руками", я думал у меня где-то ошибка в расчетах,оказывается нет, по поводу компенсации я думал,но нужно сделать ее автоматической ,а не в виде константы, на другом компьютере ,с другим рабочим столом ,могут быть вопросы.
- Вложения
-
- 1.png (5.05 КБ) 1762 просмотра
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Координаты мышки относительно VI
А я и не говорил про константы :)
Все написанные мной значения берутся именно через PN, как вы и сделали в итоге.
Только пара замечаний
- PN лучше вызывать одним узлом, будет работать немного быстрее.
- я предпочитаю при запуске принудительно Origin в (00) смещать чтобы не заниматься компенсациями при таких операциях, и вообще, элементы интерфейса обычно выстраивают аккуратно, и если окно скролить, всё поедет. Вот чтобы этого не было, и чтобы не заниматься выравниванием вручную перед каждым запуском, я просто принудительно выравниваю программно.
-
- assistant
- Сообщения: 111
- Зарегистрирован: 24 апр 2017, 22:27
- Версия LabVIEW: 2016
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Координаты мышки относительно VI
Да,конечно вы правы,это же только принцып, значения ,которые не меняются, вычисляются в инициализации или первом запуске приложения,кто как пишет.Artem.spb писал(а): ↑19 июл 2021, 23:39А я и не говорил про константы :)
Все написанные мной значения берутся именно через PN, как вы и сделали в итоге.
Только пара замечаний
- PN лучше вызывать одним узлом, будет работать немного быстрее.
- я предпочитаю при запуске принудительно Origin в (00) смещать чтобы не заниматься компенсациями при таких операциях, и вообще, элементы интерфейса обычно выстраивают аккуратно, и если окно скролить, всё поедет. Вот чтобы этого не было, и чтобы не заниматься выравниванием вручную перед каждым запуском, я просто принудительно выравниваю программно.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 9 Ответы
- 564 Просмотры
-
Последнее сообщение Artem.spb