![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Виртуальный выбор в 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
а если на голом АПИ, то у Вас должна быть структура созданного дерева, вот оттуда и выбирайте нужный узел.