Нестандартный Multicolumn Listbox

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Нестандартный Multicolumn Listbox

Сообщение Chupakabra »

Нашел нестандартный Multicolumn Listbox в недрах LabVIEW
В нем встроена подсветка выбранной ячейки вместо всей строки. Сделать аналогичное в Listbox, взятом из стандартной палитры (system, classic, modern) не удалось. Может плохо искал? Правда у меня версия LV 2015, может в более новых по-другому? )
В моем случае путь к содержащей его vi такой: C:\Program Files (x86)\National Instruments\LabVIEW 2015\resource\dialog\picktime.vi
Там он используется для выбора календарной даты.
Аватара пользователя
dadreamer

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

Re: Нестандартный Multicolumn Listbox

Сообщение dadreamer »

Chupakabra писал(а): 06 сен 2021, 13:17Сделать аналогичное в Listbox, взятом из стандартной палитры (system, classic, modern) не удалось. Может плохо искал?
Наверное, стоит галка "Cell Selection Mode": https://lavag.org/topic/18463-i-found-s ... x-options/
Artem.spb

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

Re: Нестандартный Multicolumn Listbox

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

Или поставили секретную галку, или делают что-то подобное. Т.к. скрывают исходники (хакать лень), то сложно сказать.
listbox.png
listbox.png (17.36 КБ) 2277 просмотров
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Нестандартный Multicolumn Listbox

Сообщение Chupakabra »

Спасибо за ответы, действительно помог секретный параметр в ini файле.
Вот только не понятно, зачем нужно было прятать эти полезные настройки.
Евгений Панин
junior
junior
Сообщения: 52
Зарегистрирован: 02 фев 2012, 21:49
Версия LabVIEW: 18
Откуда: Москва

Re: Нестандартный Multicolumn Listbox

Сообщение Евгений Панин »

Доброго времени суток! Сейчас, как-раз делаю проект с использованием мультилистбокса. Хорошая штука, можно выбирать целиком строку нажатием на неё. Нехватало только кнопок и выпадающих меню из ячеек. В итоге, удалось реализовать в ячейках комбобоксы, кнопки и всплывающие меню. Если нужно, позже могу выложить пример.
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Нестандартный Multicolumn Listbox

Сообщение Chupakabra »

Давайте. Интересно на кнопки в Listbox посмотреть. Я видел когда-то отображение кнопки в координатах ячейки.
Евгений Панин
junior
junior
Сообщения: 52
Зарегистрирован: 02 фев 2012, 21:49
Версия LabVIEW: 18
Откуда: Москва

Re: Нестандартный Multicolumn Listbox

Сообщение Евгений Панин »

Пока в процессе... Примечательно ещё то, что в Multicolumblistbox есть символы в каждой cell, к сожалению их размер ограничен, увеличить его нет возможности, но зато есть user symbol picture и Invoke node Point to Row Column на его нажатие in Symbol. Значит по сути, таблица в каждой ячейке может содержать 4 данных: color BG, symbol и string и color string, и всё это предоставляется пользователю. Символ может содержать миникартинку, cell текст определённого цвета и содержимого + подсветка ячейки. Это даже превосходит Intensity Graph, но конечно не по производительности ))) Прикольно то, что одна ячейка может обрабатывать по 2 события из-за символов.
Евгений Панин
junior
junior
Сообщения: 52
Зарегистрирован: 02 фев 2012, 21:49
Версия LabVIEW: 18
Откуда: Москва

Re: Нестандартный Multicolumn Listbox

Сообщение Евгений Панин »

Chupakabra писал(а): 22 мар 2022, 14:06 Давайте. Интересно на кнопки в Listbox посмотреть. Я видел когда-то отображение кнопки в координатах ячейки.
К сожалению, не успеваю сделать пример сейчас, но скажу: фигурную кнопку скорее всего сделать не получится(( Если только у таблицы в кастоме выставить прозрачный задний фрейм, далее под него подсунуть picture, заранее загрузить два мелких изображения в память, можно в виде двух констант, далее всё просто: размеры ячеек и их координаты мы знаем, событие mouse down тоже. Остаётся только перемещать 2 изображения по picture, понятное дело размножить их до нужного кол-ва ячеек. Перемещение картинок в окне picture, это просто отрисовка, без родного формата picture, работать будет довольно быстро.

По такому же принципу, можно сделать выпадающее меню комбобокса или ring. Только тут уже не нужно ничего копировать, достаточно одного, чтобы он всплывал при событии listbox mouse down, далее через узел свойств или метода, проверяем выбранную cell, в этот момент делаем ring visible и располагаем в нужные координаты, далее считываем текс из ячейки listbox. Считываем массив item name[] или string[] из ring и поиском в массиве ищем тот текст из ячейки листбокса. Если находим, знаем index, далее write ring value.
Т.е. при нажатии на ячейку в таблице, незаметно появляется элемент ring или combobox с уже выбранным значением, остаётся только нажать туда ещё раз и из выпадающего меню выбрать значение. (Как сделать, чтобы он сразу разворачивался автоматом, я пока не знаю)

Ещё моё внимание привлёк элемент Push Button из Palette Controls. Получается имеем 4 текстуры кнопки и 4 текстуры лампочки, всё независимое. Можно заменить лампочку на прямоугольную, увеличить и поставить на задний план кнопки, получится рамка с подсветкой имеющая 4 цвета (или 4 любые формы текстуры). В отличие от стандартных 2х.
Евгений Панин
junior
junior
Сообщения: 52
Зарегистрирован: 02 фев 2012, 21:49
Версия LabVIEW: 18
Откуда: Москва

Re: Нестандартный Multicolumn Listbox

Сообщение Евгений Панин »

Button.vi
(5.37 КБ) 56 скачиваний
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Лицевая панель»