недоступная вкладка Tab Control

Создание приложений, библиотек, инсталляторов
Ответить
Bam1970
interested
interested
Сообщения: 5
Зарегистрирован: 28 сен 2015, 11:07
Версия LabVIEW: 11
Контактная информация:

недоступная вкладка Tab Control

Сообщение Bam1970 »

Добрый день!

На панели один из кластеров невидим.
Вопрос:
Как сделать недоступным одну из вкладок Tab control?
Вложения
изображение_2022-01-11_150158.png
test_example.vi
(9.67 КБ) 0 скачиваний
Аватара пользователя
Kosist

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

Re: недоступная вкладка Tab Control

Сообщение Kosist »

Нужно при помощи Property Node вытянуть ссылки на табы (Pages), а потом вытянуть через Index Array нужную, и ее сделать Disabled.
Мы делили апельсин - много наших полегло...
Bam1970
interested
interested
Сообщения: 5
Зарегистрирован: 28 сен 2015, 11:07
Версия LabVIEW: 11
Контактная информация:

Re: недоступная вкладка Tab Control

Сообщение Bam1970 »

Спасибо!
Вложения
изображение_2022-01-12_094158.png
Bam1970
interested
interested
Сообщения: 5
Зарегистрирован: 28 сен 2015, 11:07
Версия LabVIEW: 11
Контактная информация:

Re: недоступная вкладка Tab Control

Сообщение Bam1970 »

Добрый день!

Возможен ли установить фокус на вкладку Tab Control ?
Мне нужно было сделать переключение между вкладками без клика на вкладку.
Sergey Puzanov
beginner
beginner
Сообщения: 43
Зарегистрирован: 05 ноя 2020, 08:26
Версия LabVIEW: 18, 20.0f1
Благодарил (а): 14 раз
Поблагодарили: 2 раза
Контактная информация:

Re: недоступная вкладка Tab Control

Сообщение Sergey Puzanov »

Самый простой способ - клавиша TAB, пока не будет выделен tab control, дальше можно использовать стрелки для переключения между вкладками.
Artem.spb

Activity Автор
doctor
doctor
Сообщения: 2767
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 26 раз
Поблагодарили: 98 раз
Контактная информация:

Re: недоступная вкладка Tab Control

Сообщение Artem.spb »

Bam1970 писал(а): 12 янв 2022, 13:53 Возможен ли установить фокус на вкладку Tab Control ?
Что вы подразумеваете под "установить"?
Определить, что мышь над контролом?
Или переключить вкладки клавиатурой, как подсказал Sergey Puzanov?
Или вообще программно переключать по каким-то событиям?
Аватара пользователя
Kosist

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

Re: недоступная вкладка Tab Control

Сообщение Kosist »

Bam1970 писал(а): 12 янв 2022, 13:53 Возможен ли установить фокус на вкладку Tab Control ?
Мне нужно было сделать переключение между вкладками без клика на вкладку.
Используйте Property Node -> Value (в режиме записи). Значения для этого параметра - это Ring (или Enum, не суть важно) с именами вкладок.
Мы делили апельсин - много наших полегло...
Bam1970
interested
interested
Сообщения: 5
Зарегистрирован: 28 сен 2015, 11:07
Версия LabVIEW: 11
Контактная информация:

Re: недоступная вкладка Tab Control

Сообщение Bam1970 »

Kosist писал(а): 12 янв 2022, 15:52 Используйте Property Node -> Value (в режиме записи). Значения для этого параметра - это Ring (или Enum, не суть важно) с именами вкладок.
Thanks!
Вложения
изображение_2022-01-13_103457.png
Artem.spb

Activity Автор
doctor
doctor
Сообщения: 2767
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 26 раз
Поблагодарили: 98 раз
Контактная информация:

Re: недоступная вкладка Tab Control

Сообщение Artem.spb »

Kosist писал(а): 12 янв 2022, 15:52 Используйте Property Node -> Value (в режиме записи).
Зачем PN, когда локальная переменная работает быстрее?
Аватара пользователя
Kosist

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

Re: недоступная вкладка Tab Control

Сообщение Kosist »

Artem.spb писал(а): 13 янв 2022, 15:47
Kosist писал(а): 12 янв 2022, 15:52 Используйте Property Node -> Value (в режиме записи).
Зачем PN, когда локальная переменная работает быстрее?
Переключение табы - операция, которую не нужно делать каждую десятую долю секунды. Поэтому по-сути все равно что использовать, можно и узел свойств, можно и локальную. Дело вкуса :wink:
Мы делили апельсин - много наших полегло...
Аватара пользователя
dadreamer

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

Re: недоступная вкладка Tab Control

Сообщение dadreamer »

Вечный холивар :labview: - Local variable VS Property Node :) В старых талмудах категорически советовали избегать употребления локальных переменных. Объяснение было такое, что этот подход нарушает принцип потока данных. Об обратной стороне медали (т.е., скорости выполнения и не-переключении в UI) в книжках почему-то никто не писал.
Artem.spb

Activity Автор
doctor
doctor
Сообщения: 2767
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 26 раз
Поблагодарили: 98 раз
Контактная информация:

Re: недоступная вкладка Tab Control

Сообщение Artem.spb »

Поддерживаю предыдущего оратора :)
Даже если операция выполняется редко, странно выбирать очень медленный способ при наличии быстрого. По сути сейчас мало кто задумывается об оптимизации программ ("надо будет - купят комп мощнее"), но нормально ли это?
Упарываться ради ускорения тоже не стоит, но не в очевидных же моментах.
Работал как-то с чужим проектом. Автор написал свой subVI бинарного поиска по массиву и хранил ссылки в виде DBL!!!! в отсортированном массиве.
Я ради интереса сделал "не оптимальный код" с поиском по массиву встроенной функцией. Мой вариант оказался быстрее в несколько раз.

А по поводу потока данных с PN. Ну я редко замечаю, чтобы пользователи соединяли Error in/out в таких элементах :)
Аватара пользователя
Kosist

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

Re: недоступная вкладка Tab Control

Сообщение Kosist »

Artem.spb писал(а): 13 янв 2022, 21:21 Даже если операция выполняется редко, странно выбирать очень медленный способ при наличии быстрого. По сути сейчас мало кто задумывается об оптимизации программ ("надо будет - купят комп мощнее"), но нормально ли это?
Нужно рассматривать конкретный случай. Если бы нужно было производить запись в контрол в цикле, гоняя его с большой частотой (что уже само по себе занятие сомнительное, т.к. человеческий глаз не увидит значения, меняющиеся каждую миллисекунду), то тогда вопросов нет - локальная переменная наше все.
Но тут задание оооооочень простое, которое вообще не требует оптимизации. Как часто будет переключаться вкладка? Заметит ли пользователь разницу в скорости переключения? Ответ очевиден - никто ничего не заметит, и ничего в программе не будет тормозить.
И локальная переменная решает лишь одну задачу - запись или чтение значения. А в приложениях обычно нужно делать больше - менять Disable свойство в зависимости от условий, может Visibility, шрифты - да что угодно. И все это нужно делать лишь при помощи Property Node. Так что зачем делать код "неоднородным" - тут записывать значение через локальную переменную, а где-то менять свойство через узел свойств.
Ну, и не нужно забывать, что при модулярном дизайне действия с юзер интерфейсом часто выносятся в общие классы, в сабвиайки, и т.д. - и тогда работа с контролами/индикаторами происходит лишь через ссылку, т.к. прямого доступа к ним нет. Ну или через функцию Set/Get Control Values by Index.
И опять же - в этом конкретном случае выбор записи через локальную переменную, или Property Node никоим образом не будет влиять на скорость выполнения программы. Поэтому здесь - это дело вкуса; и тема оптимизации здесь ни при чем.
Мы делили апельсин - много наших полегло...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Создание приложений»