'在窗体创建两个treeview,左边treeview1,右边treeview2Dim xPos As Single Dim yPos As Single Private Sub Form_Load() TreeView1.Nodes.Add , , , "1" TreeView1.Nodes.Add 1, 4, , "2" TreeView1.Nodes.Add 1, 4, , "3"TreeView2.Nodes.Add , , , "4" TreeView2.Nodes.Add 1, 4, , "5" TreeView2.Nodes.Add 1, 4, , "6"ListView1.ListItems.Add , , 888 End SubPrivate Sub TreeView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) xPos = x yPos = y End SubPrivate Sub TreeView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) If TreeView1.HitTest(xPos, yPos) Is Nothing Then MsgBox "不能移动到该节点", vbCritical Else TreeView1.Nodes.Add TreeView1.HitTest(xPos, yPos).Index, 4, , TreeView2.SelectedItem.Text TreeView2.Nodes.Remove TreeView2.SelectedItem.Index
'不好意思,什么的代码错误,鼠标坐标值控制不好,用下面的: '另外,treeview2的节点的"拖"很讲究技巧,你拖住后要往下拉一下,然后再拉到treeview1中 Dim xPos As Single Dim yPos As Single Private Sub Form_Load() TreeView1.Nodes.Add , , , "1" TreeView1.Nodes.Add 1, 4, , "2" TreeView1.Nodes.Add 1, 4, , "3"TreeView2.Nodes.Add , , , "4" TreeView2.Nodes.Add 1, 4, , "5" TreeView2.Nodes.Add 1, 4, , "6" End SubPrivate Sub TreeView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) xPos = x yPos = y Me.Caption = xPos & yPos End SubPrivate Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) xPos = x yPos = y End SubPrivate Sub TreeView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) xPos = x yPos = y If TreeView1.HitTest(xPos, yPos) Is Nothing Then MsgBox "不能移动到该节点", vbCritical Else TreeView1.Nodes.Add TreeView1.HitTest(xPos, yPos).Index, 4, , TreeView2.SelectedItem.Text TreeView2.Nodes.Remove TreeView2.SelectedItem.Index
End IfEnd SubPrivate Sub TreeView1_OLEDragOver(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer) If Not TreeView1.HitTest(xPos, yPos) Is Nothing Then TreeView1.SelectedItem = TreeView1.HitTest(xPos, yPos) End Sub
Dim yPos As Single
Private Sub Form_Load()
TreeView1.Nodes.Add , , , "1"
TreeView1.Nodes.Add 1, 4, , "2"
TreeView1.Nodes.Add 1, 4, , "3"TreeView2.Nodes.Add , , , "4"
TreeView2.Nodes.Add 1, 4, , "5"
TreeView2.Nodes.Add 1, 4, , "6"ListView1.ListItems.Add , , 888
End SubPrivate Sub TreeView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
xPos = x
yPos = y
End SubPrivate Sub TreeView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
If TreeView1.HitTest(xPos, yPos) Is Nothing Then
MsgBox "不能移动到该节点", vbCritical
Else
TreeView1.Nodes.Add TreeView1.HitTest(xPos, yPos).Index, 4, , TreeView2.SelectedItem.Text
TreeView2.Nodes.Remove TreeView2.SelectedItem.Index
End IfEnd Sub
ListView1.ListItems.Add , , 888
这一句不要,不好意思
'另外,treeview2的节点的"拖"很讲究技巧,你拖住后要往下拉一下,然后再拉到treeview1中
Dim xPos As Single
Dim yPos As Single
Private Sub Form_Load()
TreeView1.Nodes.Add , , , "1"
TreeView1.Nodes.Add 1, 4, , "2"
TreeView1.Nodes.Add 1, 4, , "3"TreeView2.Nodes.Add , , , "4"
TreeView2.Nodes.Add 1, 4, , "5"
TreeView2.Nodes.Add 1, 4, , "6"
End SubPrivate Sub TreeView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
xPos = x
yPos = y
Me.Caption = xPos & yPos
End SubPrivate Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
xPos = x
yPos = y
End SubPrivate Sub TreeView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
xPos = x
yPos = y
If TreeView1.HitTest(xPos, yPos) Is Nothing Then
MsgBox "不能移动到该节点", vbCritical
Else
TreeView1.Nodes.Add TreeView1.HitTest(xPos, yPos).Index, 4, , TreeView2.SelectedItem.Text
TreeView2.Nodes.Remove TreeView2.SelectedItem.Index
End IfEnd SubPrivate Sub TreeView1_OLEDragOver(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer)
If Not TreeView1.HitTest(xPos, yPos) Is Nothing Then TreeView1.SelectedItem = TreeView1.HitTest(xPos, yPos)
End Sub