Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.11;
Скачать: 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 вся ветка

Текущий архив: 2009.01.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
10-1151505364
maxims
2006-06-28 18:36
2009.01.11
com & win2003server


2-1227701460
2B
2008-11-26 15:11
2009.01.11
Переделать код


1-1205323967
0x01
2008-03-12 15:12
2009.01.11
Проблема при работе с DLL


1-1205573908
TCrash
2008-03-15 12:38
2009.01.11
DBGrid.EditorMode


15-1226462765
Slider007
2008-11-12 07:06
2009.01.11
С днем рождения ! 12 ноября 2008 среда