Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как скрыть редко используемые пункты в PopupMenu


Автор: Matrex 22.8.2016, 16:00
Коллеги доброго времени суток. 

Подскажите, может кто знает как скрывать редко используемые пункты меню в PopupMenu? 

Знаю это можно сделать через ActionManager но такой вариант не подходит ввиду слишком разросшегося проекта и значительной переделки...

Автор: Garmahis 22.8.2016, 16:44
А в чем конкретно вопрос? Если вы хотите скрывать часть пунктов, соответственно, вам надо определиться где и как хранить статистику использования этих пунктов. Если приложение многопользовательское то это надо привязывать дополнительно к каждому пользователю. В случае если какие-то пункты скрыты надо добавлять пункт "показать скрытые". Соответственно при прорисовке формы или в процедуре загрузки пунктов меню вам надо смотреть для каждого пункта эту статистику и принимать решение показывать или нет...   

Автор: Matrex 22.8.2016, 17:08
Я все это понимаю, и если решения проще нет, придется делать именно так, но я знаю что через ActionManager это делается автоматически (обратите внимание на word или excel 2003) - там используется именно эта технология. Delphi ее поддерживает - но слишком много переделок надо сделать уже в рабочем проекте у которого порядка 400 форм. В общем я думал что есть решение попроще: может компонент сторонний какой - типа кидаешь на форму и он сам считает клики и скрывает пункты меню... Если такого нет - буду колхозить свой... 

Автор: Kitu Chepesi 14.9.2016, 18:09
Можно создать потомка PopupMenu со своим функционалом, а потом в проекте просто переопределите все PopupMenu на своего потомка.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-skryt-redko-ispolzuyemyye-punkty-v-PopupMenu-id57baf80566ee18163a2d30d2#findElement_E7045_57d9684148556702f41406b8_0

Автор: Kitu Chepesi 14.9.2016, 18:09
Можно создать потомка PopupMenu со своим функционалом, а потом в проекте просто переопределите все PopupMenu на своего потомка.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-skryt-redko-ispolzuyemyye-punkty-v-PopupMenu-id57baf80566ee18163a2d30d2#findElement_E7045_57d9684148556702f41406b8_0

Автор: Kitu Chepesi 14.9.2016, 18:09
Можно создать потомка PopupMenu со своим функционалом, а потом в проекте просто переопределите все PopupMenu на своего потомка.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-skryt-redko-ispolzuyemyye-punkty-v-PopupMenu-id57baf80566ee18163a2d30d2#findElement_E7045_57d9684148556702f41406b8_0

Автор: Kitu Chepesi 14.9.2016, 18:09
Можно создать потомка PopupMenu со своим функционалом, а потом в проекте просто переопределите все PopupMenu на своего потомка.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-skryt-redko-ispolzuyemyye-punkty-v-PopupMenu-id57baf80566ee18163a2d30d2#findElement_E7045_57d9684148556702f41406b8_0

Автор: Kitu Chepesi 14.9.2016, 18:09
Можно создать потомка PopupMenu со своим функционалом, а потом в проекте просто переопределите все PopupMenu на своего потомка.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-skryt-redko-ispolzuyemyye-punkty-v-PopupMenu-id57baf80566ee18163a2d30d2#findElement_E7045_57d9684148556702f41406b8_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)