22-04-2012, 17:55
Faydalı olmasını dilerim...
![[Resim: attachment.php?aid=10065]](http://www.access-sql.com/attachment.php?aid=10065)
Visual Basic
- Private mobjSourceNode As Node
- Private mobjTargetNode As Node
-
- Private Sub Form_Load()
- Set mobjSourceNode = Nothing
- Set mobjTargetNode = Nothing
-
- With Me.TreeView0
- 'Treeview için gerekli ayarları yap
- .ImageList = Me.ImageList1.Object
- .LabelEdit = tvwManual
- .LineStyle = tvwRootLines
- .Style = tvwTreelinesPlusMinusPictureText
- .Font.Bold = True
- .Font.Size = 14
- .OLEDragMode = ccOLEDragAutomatic
- .OLEDropMode = ccOLEDropManual
-
- 'Elemanları ekle
- With .Nodes
- .Add , , "r", "Menü"
- .Add "r", 4, "r1", "Bir", 1
- .Add "r", 4, "r2", "İki", 2
- .Add "r2", 4, "r21", "İki Bir", 4
- .Add "r21", 4, "r22", "İki İki", 1
- .Add "r", 4, "r3", "Üç", 3
- .Add "r", 4, "r4", "Dört", 2
- .Add "r", 4, "r5", "Beş", 4
- .Add "r5", 4, "r51", "Beş Bir", 1
- .Add "r5", 4, "r52", "Beş İki", 2
- .Add "r52", 4, "r53", "Beş Üç", 4
- .Add "r53", 4, "r54", "Beş Dört", 3
- .Add "r", 4, "r6", "Altı", 1
- End With
-
- 'En baştaki elemanın dalını aç
- .Nodes(1).Expanded = True
-
- End With
- End Sub
-
- Private Sub TreeView0_MouseDown(ByVal Button As Integer, _
- ByVal Shift As Integer, _
- ByVal x As Long, ByVal y As Long)
- 'Sürüklenecek elemanın ne olduğunu bilmek için fare ile dokunmak gerek
- '"Menü" isimli elemana ait alt eleman olmalı
- 'Menü isimli elemana dokunulduğunda sahibi olmadığı için hatayı pas geç (parent)
- On Error Resume Next
- If Button = 1 Then
- If Not Me.TreeView0.HitTest(x, y) Is Nothing And _
- Me.TreeView0.HitTest(x, y).Parent.Key = "r" Then
-
- Set mobjSourceNode = Me.TreeView0.HitTest(x, y)
-
- End If
- End If
- End Sub
-
- Private Sub TreeView0_OLEDragDrop(Data As Object, Effect As Long, _
- Button As Integer, Shift As Integer, _
- x As Single, y As Single)
- 'Fare sürüklenirken bırakıldığında(sıralalama burada yapılacak)
- If Not mobjTargetNode Is Nothing And Not mobjSourceNode Is Nothing Then
- If mobjTargetNode.Key <> "r" Then
- Dim col As New Collection
-
- Set obj = mobjSourceNode.Parent.Child
- Do Until obj Is Nothing
- col.Add obj.Key, obj.Key
- Set obj = obj.Next
- Loop
-
- c = col(mobjSourceNode.Key)
-
- col.Remove (c)
- col.Add c, c, mobjTargetNode.Key
- For j = col.Count To 1 Step -1
- Set Me.TreeView0.Nodes(col(j)).Parent = Me.TreeView0.Nodes("r")
- Next
- End If
- End If
- End Sub
-
- Private Sub TreeView0_OLEDragOver(Data As Object, Effect As Long, _
- Button As Integer, Shift As Integer, _
- x As Single, y As Single, State As Integer)
- 'Fare tutulu sürüklenirken
- If Button = 1 Then
- Set mobjTargetNode = Me.TreeView0.HitTest(x, y)
- If Not mobjTargetNode Is Nothing Then
- If mobjTargetNode.Key <> "r" Then _
- Me.TreeView0.DropHighlight = mobjTargetNode
- Else
- Me.TreeView0.DropHighlight = Nothing
- End If
- End If
- End Sub




Yazan okuyan sağolsun, çözene saygılar. Kolaylaştırınız, zorlaştırmayınız.
