недоступная вкладка Tab Control
-
- interested
- Сообщения: 5
- Зарегистрирован: 28 сен 2015, 11:07
- Версия LabVIEW: 11
- Контактная информация:
недоступная вкладка Tab Control
Добрый день!
На панели один из кластеров невидим.
Вопрос:
Как сделать недоступным одну из вкладок Tab control?
На панели один из кластеров невидим.
Вопрос:
Как сделать недоступным одну из вкладок Tab control?
- Вложения
-
- test_example.vi
- (9.67 КБ) 53 скачивания
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: недоступная вкладка Tab Control
Нужно при помощи Property Node вытянуть ссылки на табы (Pages), а потом вытянуть через Index Array нужную, и ее сделать Disabled.
Мы делили апельсин - много наших полегло...
-
- interested
- Сообщения: 5
- Зарегистрирован: 28 сен 2015, 11:07
- Версия LabVIEW: 11
- Контактная информация:
Re: недоступная вкладка Tab Control
Добрый день!
Возможен ли установить фокус на вкладку Tab Control ?
Мне нужно было сделать переключение между вкладками без клика на вкладку.
Возможен ли установить фокус на вкладку Tab Control ?
Мне нужно было сделать переключение между вкладками без клика на вкладку.
-
- assistant
- Сообщения: 118
- Зарегистрирован: 05 ноя 2020, 08:26
- Версия LabVIEW: 18, 20.0f1
- Благодарил (а): 23 раза
- Поблагодарили: 4 раза
- Контактная информация:
Re: недоступная вкладка Tab Control
Самый простой способ - клавиша TAB, пока не будет выделен tab control, дальше можно использовать стрелки для переключения между вкладками.
-
- professor
- Сообщения: 3409
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: недоступная вкладка Tab Control
Что вы подразумеваете под "установить"?
Определить, что мышь над контролом?
Или переключить вкладки клавиатурой, как подсказал Sergey Puzanov?
Или вообще программно переключать по каким-то событиям?
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: недоступная вкладка Tab Control
Используйте Property Node -> Value (в режиме записи). Значения для этого параметра - это Ring (или Enum, не суть важно) с именами вкладок.
Мы делили апельсин - много наших полегло...
-
- professor
- Сообщения: 3409
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: недоступная вкладка Tab Control
Переключение табы - операция, которую не нужно делать каждую десятую долю секунды. Поэтому по-сути все равно что использовать, можно и узел свойств, можно и локальную. Дело вкуса
Мы делили апельсин - много наших полегло...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: недоступная вкладка Tab Control
Вечный холивар - Local variable VS Property Node :) В старых талмудах категорически советовали избегать употребления локальных переменных. Объяснение было такое, что этот подход нарушает принцип потока данных. Об обратной стороне медали (т.е., скорости выполнения и не-переключении в UI) в книжках почему-то никто не писал.
-
- professor
- Сообщения: 3409
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: недоступная вкладка Tab Control
Поддерживаю предыдущего оратора :)
Даже если операция выполняется редко, странно выбирать очень медленный способ при наличии быстрого. По сути сейчас мало кто задумывается об оптимизации программ ("надо будет - купят комп мощнее"), но нормально ли это?
Упарываться ради ускорения тоже не стоит, но не в очевидных же моментах.
Работал как-то с чужим проектом. Автор написал свой subVI бинарного поиска по массиву и хранил ссылки в виде DBL!!!! в отсортированном массиве.
Я ради интереса сделал "не оптимальный код" с поиском по массиву встроенной функцией. Мой вариант оказался быстрее в несколько раз.
А по поводу потока данных с PN. Ну я редко замечаю, чтобы пользователи соединяли Error in/out в таких элементах :)
Даже если операция выполняется редко, странно выбирать очень медленный способ при наличии быстрого. По сути сейчас мало кто задумывается об оптимизации программ ("надо будет - купят комп мощнее"), но нормально ли это?
Упарываться ради ускорения тоже не стоит, но не в очевидных же моментах.
Работал как-то с чужим проектом. Автор написал свой subVI бинарного поиска по массиву и хранил ссылки в виде DBL!!!! в отсортированном массиве.
Я ради интереса сделал "не оптимальный код" с поиском по массиву встроенной функцией. Мой вариант оказался быстрее в несколько раз.
А по поводу потока данных с PN. Ну я редко замечаю, чтобы пользователи соединяли Error in/out в таких элементах :)
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: недоступная вкладка Tab Control
Нужно рассматривать конкретный случай. Если бы нужно было производить запись в контрол в цикле, гоняя его с большой частотой (что уже само по себе занятие сомнительное, т.к. человеческий глаз не увидит значения, меняющиеся каждую миллисекунду), то тогда вопросов нет - локальная переменная наше все.
Но тут задание оооооочень простое, которое вообще не требует оптимизации. Как часто будет переключаться вкладка? Заметит ли пользователь разницу в скорости переключения? Ответ очевиден - никто ничего не заметит, и ничего в программе не будет тормозить.
И локальная переменная решает лишь одну задачу - запись или чтение значения. А в приложениях обычно нужно делать больше - менять Disable свойство в зависимости от условий, может Visibility, шрифты - да что угодно. И все это нужно делать лишь при помощи Property Node. Так что зачем делать код "неоднородным" - тут записывать значение через локальную переменную, а где-то менять свойство через узел свойств.
Ну, и не нужно забывать, что при модулярном дизайне действия с юзер интерфейсом часто выносятся в общие классы, в сабвиайки, и т.д. - и тогда работа с контролами/индикаторами происходит лишь через ссылку, т.к. прямого доступа к ним нет. Ну или через функцию Set/Get Control Values by Index.
И опять же - в этом конкретном случае выбор записи через локальную переменную, или Property Node никоим образом не будет влиять на скорость выполнения программы. Поэтому здесь - это дело вкуса; и тема оптимизации здесь ни при чем.
Мы делили апельсин - много наших полегло...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 5 Ответы
- 848 Просмотры
-
Последнее сообщение dadreamer