Bonsoir,
Autre solution : Simuler un click.
Pour cela :
'declaration
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private bFlagClicArtificiel As Boolean
'gérer le click droit dans l' événement mousedown.
Private Sub TreeView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
'
If Button = vbRightButton Then
' Positionne le Flag
bFlagClicArtificiel = True
' Simule un Clic
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
' Donne windows la possibilité de traiter le Click
DoEvents
' réinitialise le flag
bFlagClicArtificiel = False
' affiche le menu contextuel
'-> PopupMenu MonMenu
End If
End Sub
Le click gauche lui, sera traiter dans l' événement TreeView_NodeClick.
[] Ce qui va sans dire. va mieux en le disant.