Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как выделить узел в TreeView правой клавишей мыши? [D7, WinXP]


Андрей Л. ©   (2004-07-26 10:03:00) 

Есть дерво TreeView. Когда я щёлкаю правой клавишей мыши (RightClickSelect=tru), то элемент выделяется, а фокус на него не передаётся, остаётся на том элементе, на котором я щёлкнул левой кнопкой. Мне нужно чтобы Popup меню работало как надо и по щелчку правой клавишей мыши сробатывало бы событие TreeViewClick(Sender:TObject)?

Так что вот вопрос: как передать фокус по правому щелчку на дереве TreeView?


Андрей Л.   (2004-07-26 10:26:00) [1]

Ещё одно...

При использовании кода, кот. написан выше, всё будет рабоать правильно, но фокус всё равно не будет передан, чтобы это сделать нужно в конце дописать:

TreeView.Selected.Selected:=true;

Тогда элемент будет выделен.

У меня всё.


Андрей Л.   (2004-07-26 10:19:00) [2]

Всё решил проблему. Я хотел чтобы при вызове Popup меню, в зависимости от выбраного элемента в дереве, некоторые пункты отключались и включались.

Сделал я это так Взял событие PopupMenuPopup(Sender: TObject);
и написал код:
if TreeView.Selected.Level=1 then ... else...

Всё заработало.


KSergey   (2004-07-26 10:11:00) [3]

Можно попробовать что-то типа

OnMouseDown + GetNodeAt + Selected

Но за результат не уверен, возможно придется пошаманить


Наверх

Титульная страница Поиск, карта сайта Написать письмо