Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TTreeView, позиционирование на последний лист / 11 сообщений из 11, страница 1 из 1
10.08.2017, 15:16:37
    #39503449
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
Доброго дня. Стоит задача спозиционировать (выбрать ноду) дерево на последний по списку лист в корне дерева. Гугл пока не помог.
...
Рейтинг: 0 / 0
10.08.2017, 15:44:46
    #39503484
DesWind
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
makhaon,

Проверить Items с конца, на первый с родителем равным nil ? Или я не правильно понял?
...
Рейтинг: 0 / 0
10.08.2017, 15:48:32
    #39503489
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
makhaon,

Код: pascal
1.
2.
TreeView1.Select(TreeView1.Items[TreeView1.Items.Count-1]);
winprocs.SetFocus(TreeView1.Handle);
...
Рейтинг: 0 / 0
10.08.2017, 15:54:17
    #39503495
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
makhaon> на последний по списку лист в корне дерева.

Просто в цикле GetNextSibling не устраивает?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.08.2017, 15:57:43
    #39503501
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
Gerasimenko> TreeView1.Items[TreeView1.Items.Count-1]

Это не последний в корне, это просто последний.

> winprocs.SetFocus(TreeView1.Handle);

TreeView1.SetFocus не судьба? :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.08.2017, 16:05:57
    #39503514
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
Всем спасибо, вроде бы так нормально:

Код: pascal
1.
2.
3.
4.
5.
6.
 for i := TreeView1.Items.Count - 1 downto 0 do
  if TreeView1.Items[i].Parent = nil then
  begin
   TreeView1.Select(TreeView1.Items[i]);
   Break;
  end;
...
Рейтинг: 0 / 0
10.08.2017, 16:06:00
    #39503515
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
Гаджимурадов РустамGerasimenko> TreeView1.Items[TreeView1.Items.Count-1]

Это не последний в корне, это просто последний.

> winprocs.SetFocus(TreeView1.Handle);

TreeView1.SetFocus не судьба? :)

Значит не правильно понял
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
var
 i:Integer;
begin
 for i:=TreeView1.Items.Count-1 downto 1
  do  if TreeView1.Items[i].HasAsParent(TreeView1.Items[i-1])
        then Break;
  TreeView1.Select(TreeView1.Items[i-1]);
  winprocs.SetFocus(TreeView1.Handle);
...
Рейтинг: 0 / 0
10.08.2017, 16:13:06
    #39503522
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
Гаджимурадов Рустам,

авторTreeView1.SetFocus не судьба? :)
Не-а. Были глюки иногда.
...
Рейтинг: 0 / 0
10.08.2017, 16:22:47
    #39503547
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
GerasimenkoГаджимурадов РустамGerasimenko> TreeView1.Items[TreeView1.Items.Count-1]

Это не последний в корне, это просто последний.

> winprocs.SetFocus(TreeView1.Handle);

TreeView1.SetFocus не судьба? :)

Значит не правильно понял
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
var
 i:Integer;
begin
 for i:=TreeView1.Items.Count-1 downto 1
  do  if TreeView1.Items[i].HasAsParent(TreeView1.Items[i-1])
        then Break;
  TreeView1.Select(TreeView1.Items[i-1]);
  winprocs.SetFocus(TreeView1.Handle);

Это для двух уровнего. Для большего на Nil проверка
...
Рейтинг: 0 / 0
10.08.2017, 16:27:39
    #39503555
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
makhaon> вроде бы так нормально:

Код: sql
1.
2.
3.
4.
Node := TreeView1.Items[TreeView1.Items.Count - 1];

while (Node.Parent <> nil) do
  Node := Node.Parent;


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.08.2017, 16:29:42
    #39503557
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeView, позиционирование на последний лист
Но ещё лучше, наверное, по Sibling-ам скакать
(не изучал, что дешевле - Parent или Sibling).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TTreeView, позиционирование на последний лист / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]