Listview Drag & Drop

  • Hallo, wie kann ich es schaffen, dass ich mehrere Elemente per Drag&Drop in meine Liste ziehen kann?

    Bei diesem Skript klappt es nur immer mit einer Datei...
    und dass mit Datei hinzufügen funktioniert auch noch nicht ganz

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <GuiListView.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Gui1 = GUICreate("Drag & Drop", 550, 430, -1, -1, -1, $WS_EX_ACCEPTFILES)

    $listview = GUICtrlCreateListView ("Name |Dateityp |Dateipfad ",10,55,530,280)
    GUICtrlSetState ($listview, $GUI_DROPACCEPTED)

    $Button_DateiHinzufuegen = GUICtrlCreateButton ("Datei Hinzufügen",25,340,100)
    $Button_DateiEntfernen = GUICtrlCreateButton ("Datei Enfernen",140,340,100)
    $Button_Beenden = GUICtrlCreateButton ("Beenden",430,378,90)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    _GUICtrlListView_RegisterSortCallBack($listview)

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_DROPPED
    Dim $szDrive, $szDir, $szFName, $szExt
    $PathSplit = _PathSplit(@GUI_DragFile, $szDrive, $szDir, $szFName, $szExt)
    GUICtrlCreateListViewItem ($PathSplit[3] & "|" & $PathSplit[4] & "|" & $PathSplit[1] & $PathSplit[2],$listview)

    Case $msg = $Button_DateiHinzufuegen
    $Datei_Input = FileOpenDialog ("Dateien Hinzufügen", @MyDocumentsDir, "Alle Dateien (*.*)", 7)
    $Datei = StringSplit($Datei_Input,"|")
    Dim $szDrive, $szDir, $szFName, $szExt
    For $i = 1 To $Datei[0] Step 1
    $PathSplit = _PathSplit($Datei[$i], $szDrive, $szDir, $szFName, $szExt)
    GUICtrlCreateListViewItem ($PathSplit[3] & "|" & $PathSplit[4] & "|" & $PathSplit[1] & $PathSplit[2],$listview)
    Next

    Case $msg = $Button_DateiEntfernen
    GUICtrlDelete (GUICtrlRead ($listview))

    Case $msg = $listview
    _GUICtrlListView_SortItems ($listview, GUICtrlGetState ($listview))

    Case $msg = $GUI_EVENT_CLOSE Or $msg = $Button_Beenden
    ExitLoop


    EndSelect

    WEnd

    _GUICtrlListView_UnRegisterSortCallBack($listview)

    [/autoit] [autoit][/autoit] [autoit][/autoit]