Page 1 of 1

Маленький макрос для показа/сокрытия элементов DI_LISTBOX-а, имеющих флаги LIF_GRAYED или LIF_DISABLE

Posted: Tue 12 Jan, 2021 23:02
by buniak_a_h
По мотивам обсуждения RenewAll.
При работе с большими списками, часть элементов которых запрещены (LIF_DISABLE) или "засерены" (LIF_GRAYED) иногда хочется их спрятать, чтоб не мешали. Часто в таких случаях используется кнопкосочетание Ctrl+H. Я в нескольких своих макросах такое предусматривал, но когда потребовалось третий раз сделать то же самое, решил написать простейший макрос, скрывающий/показывающий такие строки.
Макрос вызывается только в случае, если элемент диалога, имеющий фокус ввода, - список (DI_LISTBOX). Возможно, потребуется расширить список GUID-ов диалогов, в которых этот макрос работать не должен. Пока приходит на ум только диалог выбора кодировки в редакторе. Там Ctrl+H используется для показа/скрытия не-фаворитных кодировок. UI настройки нет (пока), список меняется редактированием самого скрипта.

Версия 1.0.2
Макрос действует не только в случае, если листбокс в фокусе, но и если он - единственный видимый в диалоге
ListBox.ShowHide.lua
Версия 1.0.2
(2.63 KiB) Downloaded 22 times

Маленький макрос для показа/сокрытия элементов DI_LISTBOX-а, имеющих флаги LIF_GRAYED или LIF_DISABLE

Posted: Wed 13 Jan, 2021 09:38
by buniak_a_h
Слегка изменён скрипт, чтобы срабатывал не только если листбокс в фокусе, но и если он - единственный видимый.

Маленький макрос для показа/сокрытия элементов DI_LISTBOX-а, имеющих флаги LIF_GRAYED или LIF_DISABLE

Posted: Wed 13 Jan, 2021 11:27
by 2useven10
buniak_a_h wrote: Tue 12 Jan, 2021 23:02 По мотивам обсуждения RenewAll.
хорошо не RenewUniverse

Маленький макрос для показа/сокрытия элементов DI_LISTBOX-а, имеющих флаги LIF_GRAYED или LIF_DISABLE

Posted: Wed 13 Jan, 2021 16:42
by buniak_a_h
2useven10, что там, буква l лишняя? Ну, извините, если оскорбил. Не силён в аглицком. Что такое RenewAll - могу себе представить (м функционалу, вроде, отвечает), а что такое Renewal - не знал. Думал - опечатка.