![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Посоветуйте, как лучше заполнить 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