Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.10.2010, 10:30
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию TreeView

Здравствуйте. Подскажите пожалуйста как сделать так, чтобы при авто добавлении очередного узла в TreeView на него перемещался фокус и он был виден, а не спускался вниз.
Ответить с цитированием
  #2  
Старый 18.10.2010, 10:51
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Так устроит?
Код:
TreeView1.Select(TreeView1.Items.Add(nil,'Item'+IntToStr(TreeView1.Selected.Index)));
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 18.10.2010, 12:18
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

Я попробывал ваш вариант, не прокатило. Я так понял вашим кодом должен выделяться новый добавляемый узел. Я делал тоже самое так:
Код:
   Form1.TreeView2.Items.AddChild(NIL,tr.Name);
   trper:=Form1.TreeView2.Items.Count;
   Form1.TreeView2.items[trper-1].Selected:=true;
Он выделяется конечно, но когда итемов становиться больше чем может показывать поле они всё равно уходят вниз. Хотя в ListBox этот номер проходил...
Ответить с цитированием
  #4  
Старый 18.10.2010, 12:38
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Странно, т.к. на 2010 все нормально отрабатывает, выделенный узел внизу, но на экране, независимо от длины списка.
Код:
 Я делал тоже самое так
Так, да не так:
Вы добавляете дочерний узел, а я просто узел. Вы используете свойство Selected, а я метод Select. Попробую с вашим вариантом.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 18.10.2010, 12:43
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Скрин вашей неправильной работы TreeView киньте. Может я просто не понимаю ситуацию.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 18.10.2010, 12:50
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

+рисунок.
необходимо чтоб каждый последующий добавляемый узел был виден.
Изображения
Тип файла: jpg obnov.jpg (12.6 Кбайт, 6 просмотров)
Ответить с цитированием
  #7  
Старый 18.10.2010, 12:51
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

у меня D2006
Ответить с цитированием
  #8  
Старый 18.10.2010, 13:17
BlackDizel BlackDizel вне форума
Прохожий
 
Регистрация: 18.10.2010
Сообщения: 6
Репутация: 10
По умолчанию

вложений не видать, есть ли смысл использовать TreeView?
отсортированно по имени? как вариант поиграться с сортировкой по времени?

в ходе программы с каждым шагом добавляется узел или узлы добавляются параллельно? в связи с чем:

при реализации Вашей идеи не случится так, что фокус будет прыгать по списку с бОльшей скоростью, чем удобно для глазу? может стоит просто выводить имя добавляемого узла в label'е? (при добавлении узла на каждом шаге)
Ответить с цитированием
  #9  
Старый 18.10.2010, 13:33
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

на Delphi 6 оба варианта работают так как хочет автор:
Код:
TreeView1.Select(TreeView1.Items.Add(nil, '['+DateTimeToStr(Now)+']'));
eq
Код:
  TreeView1.Items.AddChild(nil, '['+DateTimeToStr(Now)+']');
  TreeView1.Items[TreeView1.Items.Count-1].Selected:=True;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #10  
Старый 18.10.2010, 15:17
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

Всём спасибо за ответы. Но всё равно как была проблема, так и осталась. Попробывал все варианты. Поидее умом понимаю что должно работать как надо, но итемы просто выделяются, а потом когда они выходят за область их не видно
Ответить с цитированием
  #11  
Старый 18.10.2010, 15:24
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

BlackDizel - 1)долго объяснять, но там действительно нужна TreeView..
2)с каждым шагом
3)с этим всё ок
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:39.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025