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

pol

Member
Joined
Jun 13, 2004
Messages
58
Reaction score
0
Привет всем!

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

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

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

ploki

Member
Joined
May 16, 2005
Messages
241
Reaction score
180
Лучший способ - воспользоваться нормальными компонентами для создания меню.
Лучше всего - Toolbar2000 by Jordan Russell. Там есть понятие LinkSubitems - то, что тебе требуется.
P.S. К тому же Tooolbar2000 de facto считается стандартом и на него навёрнуто столько всевозможных расширений, что в любом случае пригодится :).
 

pol

Member
Joined
Jun 13, 2004
Messages
58
Reaction score
0
Хорошо, а стандартными средствами?
 

ploki

Member
Joined
May 16, 2005
Messages
241
Reaction score
180
Можно написать кучу обработчиков событий OnAdvancedDrawItem (на каждый пункт главного меню) и в них делать с вспомогательным меню что угодно. Предварительно надо или включить режим OwnerDraw или присвоить свойство Images.
 

pol

Member
Joined
Jun 13, 2004
Messages
58
Reaction score
0
ploki, большое спасибо. Пробую...
 

Jockey

Member
Joined
Dec 26, 2015
Messages
12
Reaction score
0
"Hey guys, not familiar with Delphi but a quick Google tells me it's an old school IDE. Can you explain what kind of popups you're trying to create? Maybe someone with expertise in it can chime in"
 
Top