Utilisation de la fonction SET

cs_M51 Messages postés 63 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 10 août 2007 - 31 mars 2006 à 18:17
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 - 3 avril 2006 à 23:26
J'ai récupéré un programme ici (http://www.vbfrance.com/article.aspx?ID=489) qui déplace un noued Treeview avec ce code là:



Private Sub ctlSpinUpDown_SpinUp()

Dim strTextPrevious As String, strTextNext As String

Dim nodNodeItem As Node, nodPreviousNode As Node, nodMovedNode As Node

Set nodNodeItem = ctlTreeView.SelectedItem

If nodNodeItem Is Nothing Then

Exit Sub

End If

If nodNodeItem.Parent Is Nothing Then

Exit Sub

End If

If nodNodeItem.Previous Is Nothing Then

Exit Sub

Else

strTextPrevious = nodNodeItem.Previous.Key

Set nodPreviousNode = nodNodeItem.Previous

End If

strTextNext = ""

Set nodMovedNode = nodNodeItem

Do Until strTextNext = strTextPrevious

Set nodMovedNode.Parent = nodMovedNode.Parent

strTextNext = nodNodeItem.Next.Key

Set nodMovedNode = nodPreviousNode.Previous

Loop

End Sub



Tout est compréhensible pour moi sauf cette subtilité là: Set nodMovedNode.Parent = nodMovedNode.Parent

C'est à ce moment que le noeud qui était par exemple au rang 3 des fils
passe à 1. Je ne comprends qu'on affecte l'objet à lui même et que à
première vue cela change quelque chose.



Merci d'avance. C'est important pour moi car cela fait un sacré moment que j'essaye de comprendre

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 mars 2006 à 18:28
c'est pas franchement sensé faire grand chose.....

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous