Раскраска строк DI_LISTBOX-а Topic is solved
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Раскраска строк DI_LISTBOX-а
Здравствуйте.
Есть ли возможность как-то просто (без far.Text, вызываемого для DN_DRAWDLGITEMDONE) задать цвет строк списка DI_LISTBOX? И без DI_USERCONTROL… Что-то я не нашёл, хотя довольно много буковок на тему "допилить листбокс до ума)…
Есть ли возможность как-то просто (без far.Text, вызываемого для DN_DRAWDLGITEMDONE) задать цвет строк списка DI_LISTBOX? И без DI_USERCONTROL… Что-то я не нашёл, хотя довольно много буковок на тему "допилить листбокс до ума)…
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Раскраска строк DI_LISTBOX-а
А чем вот это не подходит viewtopic.php?f=15&t=10522&p=141462#p141462
https://t.me/FarManager — Telegram чат
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Раскраска строк DI_LISTBOX-а
John Doe, я так понял, что это - эмуляция листбокса DI_USERCONTROL-ем. Вы с ним знакомы? Меня интересуют две вещи: поддерживает ли он стандартную фильтрацию и позволяет ли скрывать-показывать строки установкой LIF_HIDDEN? Если знаете и ответите - сэкономите мне некоторое время …
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Раскраска строк DI_LISTBOX-а
Не сэкономлю.
Подозреваю что стандартную фильтрацию не поддерживает, а скрывать элементы умеет, но апи собственное, поэтому немного не так.
Подозреваю что стандартную фильтрацию не поддерживает, а скрывать элементы умеет, но апи собственное, поэтому немного не так.
https://t.me/FarManager — Telegram чат
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Раскраска строк DI_LISTBOX-а
John Doe, Фильтрацию я проверил - действительно не поддерживает.
Очень не хотелось писать DI_USERCONTROL…
Очень не хотелось писать DI_USERCONTROL…
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Раскраска строк DI_LISTBOX-а
Добавить фильтрацию в lualistboxex попроще будет.
https://t.me/FarManager — Telegram чат
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Раскраска строк DI_LISTBOX-а
1. Moonscript - не моё. От слова совсем.
2. "Попроще" - чем что? Там и так DI_USERCONTROL, чего я и хотел избежать.
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Раскраска строк DI_LISTBOX-а
1. Извините что предлагаю так навязчиво. Но может быть вы забыли что мунскрипт в луа компилируется.
2. Да хоть черт с рогами, если он уже написан за вас.
2. Да хоть черт с рогами, если он уже написан за вас.
https://t.me/FarManager — Telegram чат
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Раскраска строк DI_LISTBOX-а
Это ещё не навязчиво
Увы, видимо не до конца написан. Допиливать я не особо люблю. Тем более без комментариев.
Не, я сделаю проще. Уже попробовал повесить far.Text на DN_DRAWDLGITEMDONE и DN_LISTCHANGE (и DN_DRAGGED, хотя это - лишнее).
Раскраска строк DI_LISTBOX-а
а тоже не люблю USERCONTROL в качестве замены обычным нормальным диалогам.buniak_a_h wrote: ↑Tue 04 May, 2021 19:51 John Doe, Фильтрацию я проверил - действительно не поддерживает.
Очень не хотелось писать DI_USERCONTROL…
переизобретение велосипеда.
Если уж допиливать что-то такое,
то лучше уж залезть в С++ и допилить там что нужно.
Для многого другого ЮзерКонтрол - полезная весчь,
но думаю что не в качестве что начать заменят все диалоги в ФАРе на ЮзерКонтролы.
Идеологически правильнее добавить обычным контролам extensibility,
а не заменять их на черти что.
Добавить extensibility на уровне кода ФАРа, или же допиливать код ФАРа напрямую.
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Раскраска строк DI_LISTBOX-а
Кому интересно: сделал раскраскуDI_LISTBOX-а. Функция оформлена в виде модуля, вызывать её надо из хендлера диалога.
Модуль: Пример вызова (раскрашивает "чересполосицу" - строки попеременно):
Модуль: Пример вызова (раскрашивает "чересполосицу" - строки попеременно):
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Раскраска строк DI_LISTBOX-а
Раскрашивает до фильтрации или после? Т.е. если применить фильтр, то будет по-прежнему «зебра»?
Фар есть инструмент, а не нянька. © 2009 DrKnS
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Раскраска строк DI_LISTBOX-а
1. Фильтрация обрабатывается корректно.
2. Нашёл-таки две ситуации, когда не рнаскрашивается:
2.1. Если стоим на первой строке и пытаемся выйти вверх либо на последней и уйти вниз
2.2. Клик мышкой.
Ситуацию 2.1 я поборол перерисовкой на DN_ENTERIDLE .
Ситуацию 2.2 я побороть не смог (точнее, смог тупо инициировав перерисовку по всё тому же DN_ENTERIDLE, но это очень затратно).
Почему-то в этих двух случаях не приходит события, которое я мог бы обработать (во клику приходит, но такое ощущение, что после него делается ReDraw, а событие по окончании отрисовки (DN_DRAWDLGITEMDONE и DN_DRAWDIALOGDONE) не приходят.
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Раскраска строк DI_LISTBOX-а
HaRT, почему-то в Вашем сообщении нет кнопки "Цитировать". Это - глюк форума? Или Ваша настройка?
Поправка. Начиная с Вашего сообщения эта кнопка пропала и на моих тоже … То появится, то пропадёт …
Поправка. Начиная с Вашего сообщения эта кнопка пропала и на моих тоже … То появится, то пропадёт …
Last edited by buniak_a_h on Wed 05 May, 2021 18:17, edited 2 times in total.