Как получить регион выделенного элемента в TreeView?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Как получить регион выделенного элемента в TreeView?

Сообщение Ruslan Demidow » 29.11.2004 (Пн) 10:09

Есть тривьюв с поддержкой нескольких колонок (через сабклассинг) от vbaccelerator.
При нажатии на кнопку контекстного меню на клавиатуре хочу выводить всплывающее меню под выделенным объектом независимо от того где находится курсор мыши.
Не могу понять как получить регион текущего элемента, чтобы потом в команде вывода меню указать координаты этого меню.

Использовал GetWindowRect, но не знаю как получить hWnd текущего элемента тривьюв.

Подскажите, плиз, кто знает...
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.11.2004 (Пн) 10:13

TVM_GETITEMRECT, не? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 29.11.2004 (Пн) 12:01

Т.е. я посылаю это сообщение тривьюву и он в ответ мне выдаст регион?
Типа
Код: Выделить всё
Dim rc as RECT
Dim RetVal as Long

RetVal=SendMessage (TreeView.hWnd, TVM_GETITEMRECT, rc, 0)

Так?
Пишу с работы, где VB нет под рукой. А дома до завтра инета пока нет. :(
Поэтому сразу проверить не могу.
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.11.2004 (Пн) 12:21

Он выдаст именно RECT.

Если нуно, можно его передать в createrectrgn :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 31

    TopList