Динамические PopupMenu на Дельфи

pol

Member
Регистрация
13.06.2004
Сообщения
55
Реакции
0
Баллы
6
Привет всем!

Есть два TPopupMenu. Первое (главное) меню строится динамически, вызывается правым кликом на иконке приложения в трее и имеет несколько идентичных пунктов (скажем, фолдеров на диске). Второе (вложенное) подменю статичное и открывается при клике на каждом из этих пунктов с небольшими различиями.
Возможно ли организовать подобное поведение?

Проблема в том, что при построении главного меню я не могу дать ему один и тот же экземпляр в качестве вложенного.
Второя проблема в том, что у меню нет event'а перехода, по которому я мог бы отбирать подменю у предыдущего пункта и назначать текущему.

В качестве решения я вынужден строить одно и то же подменю динамически для каждого пункта главного меню, что не есть хорошо. Ваши предложения?
 

ploki

Active member
Регистрация
16.05.2005
Сообщения
237
Реакции
180
Баллы
43
Местоположение
Москва
Лучший способ - воспользоваться нормальными компонентами для создания меню.
Лучше всего - Toolbar2000 by Jordan Russell. Там есть понятие LinkSubitems - то, что тебе требуется.
P.S. К тому же Tooolbar2000 de facto считается стандартом и на него навёрнуто столько всевозможных расширений, что в любом случае пригодится :).
 

pol

Member
Регистрация
13.06.2004
Сообщения
55
Реакции
0
Баллы
6
Хорошо, а стандартными средствами?
 

ploki

Active member
Регистрация
16.05.2005
Сообщения
237
Реакции
180
Баллы
43
Местоположение
Москва
Можно написать кучу обработчиков событий OnAdvancedDrawItem (на каждый пункт главного меню) и в них делать с вспомогательным меню что угодно. Предварительно надо или включить режим OwnerDraw или присвоить свойство Images.
 

pol

Member
Регистрация
13.06.2004
Сообщения
55
Реакции
0
Баллы
6
ploki, большое спасибо. Пробую...
 
198 238Темы
635 210Сообщения
3 618 425Пользователи
Pandar96Новый пользователь
Верх