Доступ к дереву VBA (класс MSComctlLib.TreeCtrl.2), как выбрать узел после щелчка правой кнопкой мыши - PullRequest
2 голосов
/ 21 февраля 2012

Есть ли способ получить узел, по которому щелкают в древовидной структуре класса MSComctlLib.TreeCtrl.2, когда происходит событие щелчка правой кнопкой мыши?
Доступные методы включают TV_nodeClick (узел ByVal как объект) , который четко отображает узел, по которому щелкнули, и TV_MouseDown (кнопка ByVal как целое число, смещение ByVal как целое число, ByVal x как длинное, ByVal y как длинное) , который явно не предоставляет узел, а только координаты.
Итак, как я могу получить узел, на котором щелкнули правой кнопкой мыши?

1 Ответ

3 голосов
/ 21 февраля 2012

нашел сам! Я проверил список методов и нашел интересный: hitTest. Это превращает x, y в узел; конечно, необходимо добавить проверку, чтобы убедиться, что узел определен.
Пример кода:

Private Sub TV_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
    If Button = acRightButton And Not (Me.TV.HitTest(x, y) Is Nothing) Then
        MsgBox (Me.TV.HitTest(x, y).Key)
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...