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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2010, 04:32   #1
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию Событие при изменении дерева

Не могу понять в чем проблема, ведь вроде все правильно, но почему-то не работает. Нужно сделать кнопки выключенными, если в дереве нет не одного элемента. Вот код:

Код:
procedure TBox.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  if TreeView1.Items.Count = 0 then
  begin
     UpButton.Enabled := False;
     DownButton.Enabled := False;
  end
  else
  begin
     UpButton.Enabled := True;
     DownButton.Enabled := True;
  end;
end;
RIO вне форума Ответить с цитированием
Старый 16.05.2010, 04:39   #2
noname Incognito
Пользователь
 
Аватар для noname Incognito
 
Регистрация: 15.05.2010
Сообщений: 17
По умолчанию

Метод "OnChange" срабатывет когда выделяется существующая ветка. Когда дерево пустое данное событие не наступит.

Последний раз редактировалось noname Incognito; 16.05.2010 в 04:41.
noname Incognito вне форума Ответить с цитированием
Старый 17.05.2010, 00:29   #3
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Как же выйти из этой ситуации?
RIO вне форума Ответить с цитированием
Старый 17.05.2010, 00:48   #4
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

А во время какого события вы хотите что бы кнопки блокировались? Например, если вы даете возможность добавлять/удалять узлы дерева, то сначала выполняете удаление, потом проверку делает в том же обработчике...или может вам при запуске приложения надо блокировать кнопки...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 17.05.2010, 00:49   #5
noname Incognito
Пользователь
 
Аватар для noname Incognito
 
Регистрация: 15.05.2010
Сообщений: 17
По умолчанию

Ну дальше уже творчество) Поставте этот код где-нить в другом месте вашей программы. Я не знаю какие причины у вас приводят к удалению веток... Так вот после этих "причин" и поставте)
noname Incognito вне форума Ответить с цитированием
Старый 17.05.2010, 01:30   #6
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Нужно что бы программа отслеживала . . . Если в компоненте TTreeView нет пунктов, тогда кнопки блокируються.
RIO вне форума Ответить с цитированием
Старый 17.05.2010, 01:34   #7
noname Incognito
Пользователь
 
Аватар для noname Incognito
 
Регистрация: 15.05.2010
Сообщений: 17
По умолчанию

...а что удаляет ветки?.. Какое действие?.. Или ветки удаляются "дистанционно"?.. Поставте таймер в конце-концов...
noname Incognito вне форума Ответить с цитированием
Старый 17.05.2010, 01:39   #8
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Ну таймеры ставить принципиально не люблю, гузят прогу они. Я понимаю, что можно на действиях которые удаляют ветки, вписать проверку, но я думаю есть же какое-то общее событие которое отслеживает изменения в дереве
RIO вне форума Ответить с цитированием
Старый 17.05.2010, 01:55   #9
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Есть, OnChanging, кажется.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab

Последний раз редактировалось ex.cluz; 17.05.2010 в 01:59.
ex.cluz вне форума Ответить с цитированием
Старый 17.05.2010, 02:03   #10
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

RIO, это как понимать:
Цитата:
Нужно что бы программа отслеживала
ведь ты же разработчик, поэтому ты должен это отслеживать. Вот например, как предложили выше - в таймере.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск макроса при изменении ячейки Бонни Microsoft Office Excel 2 26.04.2010 11:44
TMediaPlayer DisplayRect - глюки при изменении Dmitry333 Мультимедиа в Delphi 6 22.03.2010 22:35
innerHTML при изменении st1512 HTML и CSS 0 07.09.2009 10:04
Работа программы при изменении Rom1k06 Microsoft Office Excel 8 18.01.2009 19:05
Мерцание окна при изменении размера zaqer Win Api 2 30.07.2008 23:39