Hej HejListview Drag&Drop
Är det någon som kan tipsa om hur man gör för att utnyttja Drag&Drop i en listview
ex.
Jag vill flytta 5 raden i Listview:n till första genom att klicka och dra
ThomasListBox Drag&Drop
Jag vet inte exakt hur ListView-kontrollen fungerar men så här kan man göra Drag & Drop i en ListBox, du kanske kan översätta koden till ListView-syntax eller kanske rentav använda en ListBox istället så länge. Principen är att man sparar positionen i listan vid MouseDown och använder sedan en Swap-funktion så fort muspekaren är över en ny position i listan med MouseMove. Under detta skede är blnMoveItem = True.
Private intPos As Integer
Private blnMoveItem As Boolean
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 50
lstItems.AddItem "Item " & i
Next i
End Sub
Private Sub lstItems_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
intPos = lstItems.ListIndex
blnMoveItem = True
End Sub
Private Sub lstItems_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If blnMoveItem And Not (lstItems.ListIndex = intPos) Then
SwapListItem lstItems, intPos, lstItems.ListIndex
intPos = lstItems.ListIndex
End If
End Sub
Private Sub lstItems_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
blnMoveItem = False
End Sub
Private Sub SwapListItem(List As ListBox, Pos1 As Integer, Pos2 As Integer)
Dim strItem As String
strItem = List.List(Pos1)
List.List(Pos1) = List.List(Pos2)
List.List(Pos2) = strItem
End Sub
\Jimmy