Народ кто-нибудь знает как получить hItem пункта дерева зная его lParam? Я имею ввиду функцию GetItem() и структуру TVITEM. Наоборот то легко. Я уж какие только варианты не перепробовал (маски разные, почти все параметры структуры этой задавал, кроме нужного — всё никак).
Ответьте кто знает. Заранее благодарен.
Здравствуйте yurick, Вы писали:
Y>Народ кто-нибудь знает как получить hItem пункта дерева зная его lParam? Я имею ввиду функцию GetItem() и структуру TVITEM. Наоборот то легко. Я уж какие только варианты не перепробовал (маски разные, почти все параметры структуры этой задавал, кроме нужного — всё никак).
Не тот инструмент...
GetItem (TVM_GETITEM) возвращает разнообразную информацию об элементе, заданном в TVITEM::hItem (что именно — указано в TVITEM::mask)
Если дерево строится в Вашей программе, то, наверное, проще завести таблицу
какое значение (lParam) в каком элементе (HTREEITEM) хранится.
Подойдет CTypedPtrMap<LPARAM, HTREEITEM> или std::map<LPARAM, HTREEITEM>
Или пересмотреть архитектуру, вообще исключив необходимость такого поиска.
Здравствуйте yurick, Вы писали:
Y>Народ кто-нибудь знает как получить hItem пункта дерева зная его lParam?
Легкого способа нет.
Придется тебе рекурсивно лазить по твоему дереву и сравнивать lParam-ы
____________________
God obviously didn't debug, hasn't done any maintenance, and no documentation can be found. Truly amateur work.