![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как выделить узел в 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
Но за результат не уверен, возможно придется пошаманить