Консультация № 74220
05.02.2007, 13:35
0.00 руб.
0 1 1
Здравствуйте.
Работаю с компонентом Tree-View. Необходимо чтобы принажатии правой кнопкой мыши появлялось меню и что-то происходило. При нажатии на элемент дерева правой кнопкой он выделяется цветом, но не становится текущим, т.е. при использовании TreeView_GetSelect(...) возвращается идентификатор не элемента, на котором находится курсор мыши, а предыдущего выделенного. GetSelect вызывается в обработчике сообщения NM_RCLICK. Как определить элемент, на котором нажата правая кнопка мыши.
Спасибо.

Обсуждение

Неизвестный
05.02.2007, 14:00
общий
это ответ
Здравствуйте, Vanes!
Что то я не нашел такого макроса TreeView_GetSelect - есть TreeView_GetSelection? но может я че то упустил.
Всплывшее событие от мыши вы перехватываете до того как оно подхватиться стандартным обработчиком, по-этому у вас пока и не выделена строка. Вариантов в данном случае много, но конкретно в обработке NM_RCLICK:
Есть у TreeView такое событие TVM_HITTEST. Вот с его помощью можно определить, на какой элемент приходится точка с определнными координатами. А координаты Можно получить например GetCursorPos. (А может и из параметров NM_RCLICK- не помню)
Форма ответа