怎样移动文档,并且保证移动过程中可视?这是用户所关心的。我们可以通过拖曳方法实现。我们把文件从列表视图中拖到树视图中,事实上就是拖动一个控件,在一个完整的拖放动作(即将一个控件拖动到一个对象上,并释放鼠标按钮)完成.。拖放操作中可以设置图标,产生拖放视角。这里有几个关键的事件如MouseMove、DragDrop、DragOver等。我们在列表视图的鼠标移动事件中通过判断鼠标左键是否按下确定拖放图标并产生拖放。代码如下:
Private Sub ListView1_MouseMove_
(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbLeftButton Then '指示拖动操作。
indrag = True '设置标志为 true。
'用 CreateDragImage 方法设置拖动图标。
ListView1.DragIcon = ListView1.SelectedItem.CreateDragImage
ListView1.Drag vbBeginDrag '拖动操作。
End If
End Sub
在一个完整的拖放动作完成后,DragDrop事件发生。当完成拖动时我们应该判断光标是否移动到一个对象上,当光标移动到TreeView1时就显示为系统的突出颜色,这由DropHighlight指定。释放鼠标按钮后结束拖放动作。代码如下:
Private Sub ListView1_DragDrop_
(Source As Control, x As Single, y As Single)
If TreeView1.DropHighlight Is Nothing Then
Set TreeView1.DropHighlight = Nothing
indrag = False
Exit Sub
Else
If nodX = TreeView1.DropHighlight Then Exit Sub
Cls
' Print nodX.Text & " dropped on " & TreeView1.DropHighlight.Text
Set TreeView1.DropHighlight = Nothing
indrag = False
End If
End Sub