Получение hItem пункта дерева
От: yurick  
Дата: 25.12.01 14:21
Оценка:
Народ кто-нибудь знает как получить hItem пункта дерева зная его lParam? Я имею ввиду функцию GetItem() и структуру TVITEM. Наоборот то легко. Я уж какие только варианты не перепробовал (маски разные, почти все параметры структуры этой задавал, кроме нужного — всё никак).
Ответьте кто знает. Заранее благодарен.
Re: Получение hItem пункта дерева
От: Кодт Россия  
Дата: 25.12.01 14:37
Оценка:
Здравствуйте yurick, Вы писали:

Y>Народ кто-нибудь знает как получить hItem пункта дерева зная его lParam? Я имею ввиду функцию GetItem() и структуру TVITEM. Наоборот то легко. Я уж какие только варианты не перепробовал (маски разные, почти все параметры структуры этой задавал, кроме нужного — всё никак).


Не тот инструмент...
GetItem (TVM_GETITEM) возвращает разнообразную информацию об элементе, заданном в TVITEM::hItem (что именно — указано в TVITEM::mask)

Если дерево строится в Вашей программе, то, наверное, проще завести таблицу
какое значение (lParam) в каком элементе (HTREEITEM) хранится.
Подойдет CTypedPtrMap<LPARAM, HTREEITEM> или std::map<LPARAM, HTREEITEM>

Или пересмотреть архитектуру, вообще исключив необходимость такого поиска.
Перекуём баги на фичи!
Re: Получение hItem пункта дерева
От: TepMuHyc  
Дата: 27.12.01 12:05
Оценка:
Здравствуйте yurick, Вы писали:

Y>Народ кто-нибудь знает как получить hItem пункта дерева зная его lParam?

Легкого способа нет.
Придется тебе рекурсивно лазить по твоему дереву и сравнивать lParam-ы
____________________
God obviously didn't debug, hasn't done any maintenance, and no documentation can be found. Truly amateur work.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.