Private Sub tvfile_DragOver(Source As Control, x As Single, y As Single, State As Integer) If mbindrag = True Then Set tvFile.DropHighlight = tvFile.HitTest(x, y) End If End Sub
Private Sub tvfile_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) Set tvFile.DropHighlight = tvFile.HitTest(x, y) If Not tvFile.DropHighlight Is Nothing Then tvFile.SelectedItem = tvFile.HitTest(x, y) Set modragNode = tvFile.SelectedItem ' Set the item being dragged. End If Set tvFile.DropHighlight = Nothing End SubPrivate Sub tvfile_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbLeftButton Then mbindrag = True tvFile.DragIcon = tvFile.SelectedItem.CreateDragImage tvFile.Drag vbBeginDrag ' Drag operation. End If End Sub
我认为应该在DragOver时触发Item Select
然后在DragDrop事件中再相应做些处理
但如何在DragOver时触发Item Select?
If mbindrag = True Then
Set tvFile.DropHighlight = tvFile.HitTest(x, y)
End If
End Sub
Set tvFile.DropHighlight = tvFile.HitTest(x, y)
If Not tvFile.DropHighlight Is Nothing Then
tvFile.SelectedItem = tvFile.HitTest(x, y)
Set modragNode = tvFile.SelectedItem ' Set the item being dragged.
End If
Set tvFile.DropHighlight = Nothing
End SubPrivate Sub tvfile_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbLeftButton Then
mbindrag = True
tvFile.DragIcon = tvFile.SelectedItem.CreateDragImage
tvFile.Drag vbBeginDrag ' Drag operation.
End If
End Sub