Treeview Selected?

Tags:    visual-basic

Hej.

Hvordan kan jeg vælge en node i et treeview og makere en "child" så den får en blå baggrund?

Eg:

+-----bla (mappe)
|
|-----bla2 (mappe)
| |
| +----bla3 (child) <--- den her skal makeres!
|%-----bla4 (mappe)

Det skal være efter at listen er lavet.

M.V Kim




2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hej Kim:

Jeg har et eksempel (godt nok på Engelsk -- håber det går alligevel).

Lav en form med en TreeView kontrol og en knap. Træet skal hedde "TreeView1" og knappen skal hedde "Command1" (default navne). Tilføj følgende kode til knappens "Click" event:

'--- Kode Begynder ---
<pre>
Private Sub Command1_Click()

'
' Dimension local variables...
'
Dim intNodeIdx As Integer ' node index
Dim strNodeText As String ' node text (and key)
Dim intRndNodeIdx As Integer ' random node index

With Me.TreeView1.Nodes
'
' First, we clear the nodes to avoid any
' errors.
'
.Clear

'
' Run a couple of times to set up a few nodes.
'
For intNodeIdx = 1 To 10
'
' Build a neat little node name and use the
' name for the key as well. Then add it to
' the treeview control.
'
Let strNodeText = "Node " & Format$(intNodeIdx, "0000")
.Add Key:=strNodeText, Text:=strNodeText
Next intNodeIdx

'
' Once we get here, there are a few nodes in
' the treeview (ten of them to be exact). We
' now pick a random node, add a child node to
' it, and then highlight the child node.
'
Randomize Timer
Let intRndNodeIdx = Int(Rnd * 10) + 1
Let strNodeText = "Node " & Format$(intRndNodeIdx, "0000")
.Add strNodeText, tvwChild, "Child", "Child"

With .Item("Child")
'
' Make sure we can see the node in the tree
' and select it.
'
.EnsureVisible
.Selected = True
End With
End With

With Me.TreeView1
'
' If the treeview has been set to hide its
' selection (i.e. HideSelection property =
' True), then the highlight will be hidden.
' Therefore, we set the focus on the treeview
' control.
'
If .HideSelection = True Then .SetFocus
End With

End Sub
</pre>
<p>
Koden tilføjer 10 nodes og vælger en af dem. Derefter smider den en child-node på, og vælger den child node. Den sikrer sig også, at child-noden kan ses i det synlige område, samt at træet får fokus, således a den valgte node bliver blå.

Læg mærke til <b>HideSelection</b> egenskaben, der kan være True eller False. Hvis den er True (standard), kan den valgte node ikke ses, når TreeView kontrollen ikke har fokus.



Tak, det virker perfekt.

Kim




t