Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2009, 23:18   #1
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию TTreeView

Есть TreeView. На нем есть popup меню. Нужно "зажигать" и "тушить" пункты меню в зависимости от того на каком пункте меню вызвали. Включаем RightClickSelect и в обработчике onPopup проверяем TreeView.Items[i].Selected.
Но оказывается, пунк меню приобретает этот Selected только если его кликнуть левой клавишей мыши. Даже визуально видно, что хоть выделение переходит на кликнутый элемент, пунтирная рамка остается на предыдущем элементе.
При этом Treview.Selected.AbsoluteIndex показывает номер кликнутого правой кнопкой пункта.
Почему не работает Treeview.Items[I].Selected?
Sergey2 вне форума Ответить с цитированием
Старый 16.09.2009, 15:22   #2
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Код:
procedure TForm1.TreeUserContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
var
tmpNode: TTreeNode;
begin
tmpNode := (Sender as TTreeView).GetNodeAt(MousePos.X, MousePos.Y);
if tmpNode <> nil then
TTreeView(Sender).Selected := tmpNode;
end;
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TTreeView поиск по имени Родион Компоненты Delphi 6 05.05.2008 14:07
Заполнить TTreeView Leonis Компоненты Delphi 6 27.03.2008 13:02
где найти нормальный TTreeView andrey4623 Общие вопросы Delphi 6 27.03.2008 00:15
TTreeView alll_23 Общие вопросы Delphi 2 23.10.2007 12:36