ListView Einträge per Drag & Drop verschieben

  • Hi,

    ich möchte gerne in einem ListView die Einträge per Drag+Drop verschieben können. Zum Thema habe ich schon das hier gefunden, aber mich stört daran dass es etwas verbuggt ist (z.B. wenn man die Maus ausserhalb des ListViews gedrückt hält verdoppelt sich der Eintrag) und dass es nicht wirklich intuitiv ist, ich würde mir z.B. wünschen dass das Item dann schon sofort an die neue Stelle rückt wo man noch geklickt hält oder dass das wie im Explorer ist und da dann eine Linie durch führt.
    Eigentlich hatte ich erwartet, dass AutoIt das mit einem einfachen Style oder so machen kann aber dem ist scheinbar nicht so :(

    Ist es möglich das irgendwie umzusetzen?


    Wenn jemand ein Beispiel ListView braucht bitte:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListviewConstants.au3>
    #Include <GuiListView.au3>
    #Include <GuiImageList.au3>

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

    $Form1 = GUICreate("Form1", 378, 275)
    $ListView1 = GUICtrlCreateListView("Farbe|Vorname|Nachname", 8, 8, 362, 262)
    GUISetState(@SW_SHOW)

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

    $hImage = _GUIImageList_Create(16, 16, 5, 3)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 110)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 131)
    _GUICtrlListView_SetImageList($ListView1, $hImage, 1)

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

    GUICtrlCreateListViewItem("Icon1|Fritz|Schulz",$ListView1)
    GUICtrlCreateListViewItem("Icon2|Rüdiger|Zachanassian",$ListView1)
    GUICtrlCreateListViewItem("Icon2|August|Schmidt",$ListView1)
    GUICtrlCreateListViewItem("Icon1|Hans|Birke",$ListView1)
    _GUICtrlListView_AddSubItem($ListView1,0,"Icon1",0,0)
    _GUICtrlListView_AddSubItem($ListView1,1,"Icon2",0,1)
    _GUICtrlListView_AddSubItem($ListView1,2,"Icon2",0,1)
    _GUICtrlListView_AddSubItem($ListView1,3,"Icon1",0,0)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    ;~ Case $ListView1
    ;~ _GUICtrlListView_SimpleSort
    EndSwitch
    WEnd

    [/autoit]