Главная страница
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.015 c
2-1227711457
ekto
2008-11-26 17:57
2009.01.11
запрос


2-1227794000
oracled
2008-11-27 16:53
2009.01.11
Строка больше 255 символов, как?


2-1227776113
cvg
2008-11-27 11:55
2009.01.11
Как отключить загрузку ODBC-драйвера?


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


15-1226294001
Design
2008-11-10 08:13
2009.01.11
Как определить работает ХРManifest или нет?