Если нашёл - то я знаю идентификатор узла.
Как по нему програмно щёлкнуть?
Вот так я ищу текст. (SearchText - текстбокс со строкой текста).
- Код: Выделить всё
Private Sub cmdQuickSearch_Click()
Dim i As Long, n As Long
Dim intNode As Node
Dim intSearchResult As String, NodeKey As String
If Len(SearchText.Text) = 0 Then
Exit Sub
End If
i = SabjList.SelectedItem.Index + 1
If i = 0 Then
i = 1
End If
For n = i To SabjList.Nodes.Count
Set intNode = SabjList.Nodes.Item(n)
intSearchResult = Trim$(intNode.Text)
If InStr(1, intSearchResult, Trim$(SearchText.Text)) <> 0 Then
SabjList.SelectedItem = intNode
intNode.Expanded = True
SabjList.SetFocus
Exit Sub
End If
Next
MsgBox "Не найдено."
End Sub
Если после SabjList.SetFocus я вызываю процедуру SabjList_NodeClick(ByVal Node As MSComctlLib.Node) c intNode в качестве параметра - то VB ругается на несоответствие типов.