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

Здесь обсуждается всё, что касается макросов.
Post Reply
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

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

Post 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 50 times
Last edited by buniak_a_h on Wed 13 Jan, 2021 09:37, edited 2 times in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

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

Post by buniak_a_h »

Слегка изменён скрипт, чтобы срабатывал не только если листбокс в фокусе, но и если он - единственный видимый.
2useven10
Posts: 5204
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

buniak_a_h wrote: Tue 12 Jan, 2021 23:02 По мотивам обсуждения RenewAll.
хорошо не RenewUniverse
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

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

Post by buniak_a_h »

2useven10, что там, буква l лишняя? Ну, извините, если оскорбил. Не силён в аглицком. Что такое RenewAll - могу себе представить (м функционалу, вроде, отвечает), а что такое Renewal - не знал. Думал - опечатка.
Last edited by buniak_a_h on Wed 13 Jan, 2021 16:43, edited 1 time in total.
Post Reply

Return to “Обсуждение макросов”