Главная страницаОбратная связьКарта сайта

Перехват правых кликов на узлах treeview



'Контрол TreeView придает Вашей аппликухе законченный вид Windows 95.
'Однако, в учебниках по VB не сказано, как перехватывать правый мышиный
'клик на узле (node) дерева. Событие Treeview_MouseDown происходит до
'события NodeClick. Чтобы показать контекстное меню над узлом, используйте
'этот код и определите ключ (Key) для для каждого узла в виде буквы и идущим
'за ней числом.

'+ Root (R01) ' the letter gives
'|--- Child 1 (C01) ' the indication To
'|--+ Child 2 (C02) ' the context menu
'| |--- Child 2.1 (H01)
'| |--- Child 2.2 (H02)

Dim bRightMouseDown As Boolean

Private Sub Form_Load()
bRightMouseDown = False
End Sub

Private Sub treeview1_MouseDown_
(Button As Integer, Shift As _
Integer, X As Single, Y As Single)
If Button And vbRightButton Then
bRightMouseDown = True
Else
bRightMouseDown = False
End If
End Sub

Private Sub treeview1_MouseUp_
(Button As Integer, Shift As _
Integer, X As Single, Y As Single)
bRightMouseDown = False
End Sub

Private Sub treeview1_NodeClick_
(ByVal Node As Node)
Select Case Left(Node.Key, 1)
Case "R"
If Not bRightMouseDown Then
' Do the normal node click,
' so you must here the code
' For the node code click
Else
' выбор узла
treeview1.Nodes(Node.Key).Selected = True
' показать контекстное меню
PopupMenu mnuContext1
End If

Case "C"
If Not bRightMouseDown Then
' Do the normal node click,
' so you must here the code
' For the node code click
Else
' выбор узла
treeview1.Nodes(Node.Key).Selected = True
' показать контекстное меню
PopupMenu mnuContext2
End If

' то же с остальными узлами
' ....
End Select
End Sub


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация программирование на Visual Basic - "Перехват правых кликов на узлах treeview", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2023 Дискета.info