Вниз
Скачать: CL | DM;

Посоветуйте, как лучше заполнить PopupMenu   Найти похожие ветки 

 
Ega23 ©   (2008-05-23 15:30) [0]

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


 
Reindeer Moss Eater ©   (2008-05-23 15:31) [1]

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


 
Reindeer Moss Eater ©   (2008-05-23 15:34) [2]

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


 
Reindeer Moss Eater ©   (2008-05-23 15:38) [3]

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


 
Ega23 ©   (2008-05-23 15:38) [4]


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


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

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


 
Reindeer Moss Eater ©   (2008-05-23 15:39) [5]

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


 
Palladin ©   (2008-05-23 15:40) [6]

OnContextPopup хужее?


 
clickmaker ©   (2008-05-23 15:43) [7]

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


 
Ega23 ©   (2008-05-23 15:52) [8]


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


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
6-1188995111
ЗабылИмя
2007-09-05 16:25
2008.06.15
Как через сеть включить удалённый компьютер?


2-1211278899
Сергей
2008-05-20 14:21
2008.06.15
Не подключается объект Screen.


15-1209984012
switch
2008-05-05 14:40
2008.06.15
System Error. Code 1400. Invalid window handle


2-1211305467
Magos
2008-05-20 21:44
2008.06.15
Задействование клавиши бэкспэйс в данном случае


2-1211463953
student_iz_muroma
2008-05-22 17:45
2008.06.15
Архивация базы




   Наверх