Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Посоветуйте, как лучше заполнить PopupMenu [D7]


Ega23 ©   (2008-05-23 15:30:00) 

Есть система классов - один базовый и несколько потомков. Есть некоторое количество объектов данных классов.
Есть TreeView. В Node.Data сидят указатели на эти объекты.
Есть PopupMenu. В зависимости от текущего объекта формируется разный набор доступных действий.
Собственно вопрос: как бы получше сделать перестроение менюшки? Закладываться на OnChangeNode - не хочется, т.к. я ведь могу его вообще ни разу не вызвать...


Ega23   (2008-05-23 15:52:00) [1]


> function TBaseClass.QueryContextMenu(): TPopupMenu или набор
> действий в каком-то удобном виде; virtual; ?


Не, не пойдёт, классы вообще не визуальные и про визуализацию ничего знать не должны.

OnPopup подходит, всем спасибо.


clickmaker   (2008-05-23 15:43:00) [2]

function TBaseClass.QueryContextMenu(): TPopupMenu или набор действий в каком-то удобном виде; virtual; ?


Palladin   (2008-05-23 15:40:00) [3]

OnContextPopup хужее?


Reindeer Moss Eater   (2008-05-23 15:39:00) [4]

так у разных узлов будут разные попап меню.
а сами менюшки - просто пустышки смотрящие на акшенлист


Reindeer Moss Eater   (2008-05-23 15:38:00) [5]

ну или строить меню в его же онпопап


Ega23   (2008-05-23 15:38:00) [6]


> то есть будет N фиксированных попап меню, которые будут
> выбираться динамически


Э нет, так не пойдёт. В том-то и дело, что действия - динамически изменяются. Никаких статичных PopupMenu

В принципе, я тут поигрался, на OnPopup можно заложиться...


Reindeer Moss Eater   (2008-05-23 15:34:00) [7]

то есть будет N фиксированных попап меню, которые будут выбираться динамически


Reindeer Moss Eater   (2008-05-23 15:31:00) [8]

Взять три из виртуал контролс там у нода есть метод ongetpopupmenu


Наверх

Титульная страница Поиск, карта сайта Написать письмо