Нашел нестандартный Multicolumn Listbox в недрах LabVIEW
В нем встроена подсветка выбранной ячейки вместо всей строки. Сделать аналогичное в Listbox, взятом из стандартной палитры (system, classic, modern) не удалось. Может плохо искал? Правда у меня версия LV 2015, может в более новых по-другому? )
В моем случае путь к содержащей его vi такой: C:\Program Files (x86)\National Instruments\LabVIEW 2015\resource\dialog\picktime.vi
Там он используется для выбора календарной даты.
Нестандартный Multicolumn Listbox
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Нестандартный Multicolumn Listbox
Наверное, стоит галка "Cell Selection Mode": https://lavag.org/topic/18463-i-found-s ... x-options/Chupakabra писал(а): ↑06 сен 2021, 13:17Сделать аналогичное в Listbox, взятом из стандартной палитры (system, classic, modern) не удалось. Может плохо искал?
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Нестандартный Multicolumn Listbox
Или поставили секретную галку, или делают что-то подобное. Т.к. скрывают исходники (хакать лень), то сложно сказать.
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
Re: Нестандартный Multicolumn Listbox
Спасибо за ответы, действительно помог секретный параметр в ini файле.
Вот только не понятно, зачем нужно было прятать эти полезные настройки.
Вот только не понятно, зачем нужно было прятать эти полезные настройки.
-
- junior
- Сообщения: 52
- Зарегистрирован: 02 фев 2012, 21:49
- Версия LabVIEW: 18
- Откуда: Москва
Re: Нестандартный Multicolumn Listbox
Доброго времени суток! Сейчас, как-раз делаю проект с использованием мультилистбокса. Хорошая штука, можно выбирать целиком строку нажатием на неё. Нехватало только кнопок и выпадающих меню из ячеек. В итоге, удалось реализовать в ячейках комбобоксы, кнопки и всплывающие меню. Если нужно, позже могу выложить пример.
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
Re: Нестандартный Multicolumn Listbox
Давайте. Интересно на кнопки в Listbox посмотреть. Я видел когда-то отображение кнопки в координатах ячейки.
-
- 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
- Сообщения: 52
- Зарегистрирован: 02 фев 2012, 21:49
- Версия LabVIEW: 18
- Откуда: Москва
Re: Нестандартный Multicolumn Listbox
К сожалению, не успеваю сделать пример сейчас, но скажу: фигурную кнопку скорее всего сделать не получится(( Если только у таблицы в кастоме выставить прозрачный задний фрейм, далее под него подсунуть picture, заранее загрузить два мелких изображения в память, можно в виде двух констант, далее всё просто: размеры ячеек и их координаты мы знаем, событие mouse down тоже. Остаётся только перемещать 2 изображения по picture, понятное дело размножить их до нужного кол-ва ячеек. Перемещение картинок в окне picture, это просто отрисовка, без родного формата picture, работать будет довольно быстро.Chupakabra писал(а): ↑22 мар 2022, 14:06 Давайте. Интересно на кнопки в Listbox посмотреть. Я видел когда-то отображение кнопки в координатах ячейки.
По такому же принципу, можно сделать выпадающее меню комбобокса или 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
- Сообщения: 52
- Зарегистрирован: 02 фев 2012, 21:49
- Версия LabVIEW: 18
- Откуда: Москва
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 1017 Просмотры
-
Последнее сообщение milakhimov
-
- 3 Ответы
- 790 Просмотры
-
Последнее сообщение Artem.spb
-
- 3 Ответы
- 1727 Просмотры
-
Последнее сообщение Artem.spb