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

Разные PopupMenu в TreeView   Найти похожие ветки 

 
snake-as ©   (2008-11-30 11:27) [0]

Здравствуйте. Подскажите, пожалуйста, как сжелать, чтобы в зависимости от того, какая ветка выбрана в TreeView, было разное контекстное меню? Заранее спасибо!


 
Ega23 ©   (2008-11-30 11:46) [1]

Формировать меню в динамике.


 
snake-as ©   (2008-11-30 17:37) [2]

На событии щелканья правой кнопкой? Вы это имете ввиду?


 
Юрий Зотов ©   (2008-11-30 17:47) [3]

Можно заранее подготовить несколько меню и переключать их в обработчике события выбора ветки:

if выбрана_ветка_1 then
 TreeView.PopupMenu := PopupMenu1
else
 TreeView.PopupMenu := PopupMenu2

Можно иметь одно меню, но его пункты формировать в коде, в том же обработчике. См. NewItem.


 
Ega23 ©   (2008-11-30 18:17) [4]


> На событии щелканья правой кнопкой? Вы это имете ввиду?


Ну либо как Юрий Зотов предлагает. Это если разных пунктов меню немного.
Либо у TPopupMenu событие есть, OnContextPopup, вроде (delphi под руками нет, точно не помню).


 
{RASkov} ©   (2008-11-30 19:20) [5]

> Либо у TPopupMenu событие есть, OnContextPopup

У TPopupMenu есть OnPopup, а у TControl"а есть OnContextPopup.... Можно формировать меню и "там и тут", но гораздо удобнее в OnContextPopup, там передаются координаты мыши... Более того, в этом обработчике можно сделать выбор нода, по которому кликнули "правой кнопкой" - т.е. будет более человечий попап... иначе попап выпадает, а выделение возвращается на предыдущий нод.... Некрасиво :)


 
{RASkov} ©   (2008-11-30 19:22) [6]

> Более того, в этом обработчике можно сделать выбор нода

т.е. тут проще наверное это сделать, а сделать такое вообще наверное можно и в других местах....)


 
Ega23 ©   (2008-11-30 19:42) [7]


> У TPopupMenu есть OnPopup, а у TControl"а есть OnContextPopup.


А, ну да. Перепутал.
Ну я, вроде, на OnPopup закладывался, мне координаты не сильно интересны были. Главное чтобы какой-то из нодов был Selected.



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

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



Память: 0.46 MB
Время: 0.008 c
1-1205478305
dmitry_12_08_74
2008-03-14 10:05
2009.01.11
Реализация сохранение истории изменений Undo/Redo


1-1205823627
denmin
2008-03-18 10:00
2009.01.11
Как передать значения из DLL в приложение?


15-1226802329
axd
2008-11-16 05:25
2009.01.11
Помогите найти песню mp3


6-1196964272
BlazeMaster
2007-12-06 21:04
2009.01.11
Вопрос о компоненте WebBrowser


2-1227784613
9899100
2008-11-27 14:16
2009.01.11
деструктор




   Наверх