Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Как убрать выделение в дереве TreeView


Автор: Alexey89 28.7.2015, 11:59
В процедуре TreeView1Change записаны очень важные параметры, такие как TreeView1.Selected.AbsoluteIndex и TreeView1.Selected.Data^. Я создал специальную кнопку, которая по идеи должна очищать выделение в дереве, и записал в неё TreeView1.ClearSelection(false), но при нажатии на неё выдает ошибку. Я знаю, что проблема заключается в тех параметрах, которые находятся в TreeView1Change, но убрать их нельзя они очень важные, можно что-нибудь придумать?

Автор: superVad 28.7.2015, 12:56
Цитата(Alexey89 @  28.7.2015,  10:59 Найти цитируемый пост)
можно что-нибудь придумать?

Можно привести тут какой нибудь код. Тот что в TreeView1Change например. И сказать на какой строчка ошибка.

Ну или как вариант:
Код

  TreeView1.onChange := nil;
  TreeView1.ClearSelection(false);
  TreeView1.onChange := TreeView1Change.

Но скорее всего это правится проверкой выделенного нода на нил.

Автор: Alexey89 28.7.2015, 15:47
Спасибо, ваш вариант мне подходит, только в конце TreeView1Change нужно поставить точку с запятой, а не точку. Кстати в TreeView1Change имеются такие параметры как Sender и Node, я так понимаю их перечислять не обязательно при вызове процедуры? 

Автор: superVad 28.7.2015, 23:19
Цитата(Alexey89 @  28.7.2015,  14:47 Найти цитируемый пост)
Спасибо, ваш вариант мне подходит, только в конце TreeView1Change нужно поставить точку с запятой, а не точку. Кстати в TreeView1Change имеются такие параметры как Sender и Node, я так понимаю их перечислять не обязательно при вызове процедуры? 


Если такой вариант работает то вместо него можно в TreeView1Change первой строчкой такое написать:
Код

  if not Assigned(Node) then Exit;

Тоже должно сработать.

Параметры, наверное, указывать при вызове надо. Можно просто нилы указать TreeView1Change(nil, nil).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)