Как определить, что включён режим фильтрации в DI_LISTBOX-е Topic is solved

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
buniak_a_h
Posts: 1444
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 103 times
Been thanked: 118 times
Contact:

Как определить, что включён режим фильтрации в DI_LISTBOX-е

Post by buniak_a_h »

Имеется диалог с DI_LISTBOX-ом. В обработчике сообщений на нажатые символы (маска ^(.|Space|BackSlash)$) предусмотрена обработка (например, поиск по списку). НО! Эта обработка должна действовать только при неактивной фильтрации (не было нажато CtrlAltF). Если режим фильтрации включен, то обработка должна быть стандартной.
Я попытался определить, активен ли фильтр по Menu.Filter(2) . Эта функция возвращает 1, если фильтр активен и фильтрующая строка (Menu.FilterStr) не пуста.

Как мне отловить ситуацию, когда режим фильтрации включен, а строка ещё не введена? Самому запоминать факт нажатия CtrlAltF ? Есть ли другой, более цивилизованный способ?
Last edited by buniak_a_h on Wed 08 Jan, 2020 02:52, edited 1 time in total.

User avatar
John Doe
Бюрократ
Posts: 12660
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 271 times

Как определить, что включён режим фильтрации в DI_LISTBOX-е

Post by John Doe »

buniak_a_h wrote:
Wed 08 Jan, 2020 02:52
Как мне отловить ситуацию, когда режим фильтрации включен, а строка ещё не введена?
Menu.Filter(0,-1)

Post Reply

Return to “Нужна помощь”