Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Виртуальный выбор в TreeView


Evgeny ©   (2002-01-15 06:49:00) 

Собственно практически полный вопрос. Требуется выбрать конкретную ветвь в TreeView. Но выбор происходит по хэндлу, а не по индексу:
BOOL TreeView_SelectItem(hwnd, hitem);
а вот как в таком случае узнать хэндл той ветви, которую требуется выбрать?


Gennady   (2002-01-15 16:43:00) [1]

я не знаю какое у Вас условие выбора нужных веток, поэтому посоветую то, что посоветовал бы и себе. )
сначала получить рут у дерева, а затем пройтись по всему дереву, перебирая узлы.

для начала есть TreeView_GetRoot, затем TreeView_GetNextItem.
в принципе это все делается с помощью сообщения TVM_GETNEXTITEM, с нужными параметрами.

TVM_GETNEXTITEM
wParam = (WPARAM) (UINT) flag;
lParam = (LPARAM) (HTREEITEM) hitem;

Returns the handle to the item if successful or NULL otherwise.

я бы попробовал так.


Evgeny   (2002-01-15 14:32:00) [2]

Все на голом API. Структры созданного дерева не имеется. Известно количество веток. Вот и нужно выбрать - ветка1, ветка2 ну и так далее по номеру. Ну а так как в API выбор нужной ветки выбирается по хэндлу, то требуется предварительно узнать его. А вот в этом и загвоздка.


Gennady   (2002-01-15 10:53:00) [3]

насколько я понял, то речь идет о TreeNode.ItemID
а если на голом АПИ, то у Вас должна быть структура созданного дерева, вот оттуда и выбирайте нужный узел.


Наверх

Титульная страница Поиск, карта сайта Написать письмо