Главная страница
    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.46 MB
Время: 0.005 c
2-1227776113
cvg
2008-11-27 11:55
2009.01.11
Как отключить загрузку ODBC-драйвера?


15-1226421022
cosinus
2008-11-11 19:30
2009.01.11
Подскажите, как лучше поступить...


15-1226831942
b1tard
2008-11-16 13:39
2009.01.11
Симплекс-метод


2-1227685189
9899100
2008-11-26 10:39
2009.01.11
property


1-1205387717
Maxick
2008-03-13 08:55
2009.01.11
TIBataBase и DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский