Nach _GUICtrlListSwapString Eintrag markiert lassen, aber wie?

  • Moin zusammen,

    wie kann ich nachdem ich ein ListItem mit _GUICtrlListSwapString von der Position verschoben habe anschließend wieder markieren lassen?

    Anbei ein Beispiel zum testen!

    Spoiler anzeigen

    Mfg

    Analyzer

    • Offizieller Beitrag

    Hallo,

    z.B. so:

    Spoiler anzeigen
    [autoit]

    ;-----------------
    ; Include
    ;-----------------

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

    #include <GUIConstants.au3>
    #include <GuiList.au3>

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

    ;-----------------
    ; Optionen
    ;-----------------
    Opt("TrayIconHide", 1)
    Opt("GUIOnEventMode", 1)
    Opt("RunErrorsFatal", 0)
    Opt("TrayMenuMode", 1)

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

    $Runonce = GUICreate("RunOnce Generator", 616, 363)
    $Runonce_Group1 = GUICtrlCreateGroup("", 16, 16, 585, 298)

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

    GUICtrlCreateLabel("Diese Befehle werden bei der ersten Anmeldung ausgeführt", 56, 64, 284, 17)
    $Runonce_Input1 = GUICtrlCreateInput("", 57, 86, 278, 21)
    GUICtrlSetOnEvent(-1, "_runonce_add")
    $Runonce_List1 = GUICtrlCreateList("", 56, 120, 322, 149, BitOR($WS_HSCROLL, $WS_BORDER))
    $Runonce_Button1 = GUICtrlCreateButton("Hinzufügen", 424, 264, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "_runonce_add")
    $Runonce_Button2 = GUICtrlCreateButton("Bearbeiten", 512, 264, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "_runonce_edit")
    $Runonce_Button3 = GUICtrlCreateButton("?", 343, 88, 18, 17, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $Runonce_del = GUICtrlCreateButton(" X", 383, 136)
    GUICtrlSetOnEvent(-1, "_runonce_clear")
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $Runonce_Button5 = GUICtrlCreateButton("H", 383, 191)
    GUICtrlSetOnEvent(-1, "_runonce_up")
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $Runonce_Button6 = GUICtrlCreateButton("R", 383, 224)
    GUICtrlSetOnEvent(-1, "_runonce_down")
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Runonce_weiter = GUICtrlCreateButton("Weiter", 410, 325, 75, 25, 0)
    ;~ GUICtrlSetOnEvent(-1, "_runonce_weiter")
    $Runonce_back = GUICtrlCreateButton("Zurück", 295, 325, 75, 25, 0)
    ;~ GUICtrlSetOnEvent(-1, "_runonce_back")
    $Runonce_exit = GUICtrlCreateButton("Abbrechen", 525, 325, 75, 25, 0)
    GUICtrlSetOnEvent(-1, "schliessen")

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

    GUISetState()

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

    While 1
    Sleep(20)
    WEnd

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

    Func _runonce_add()
    If GUICtrlRead($Runonce_Input1) = "" Then
    Else
    _GUICtrlListAddItem($Runonce_List1, GUICtrlRead($Runonce_Input1))
    GUICtrlSetData($Runonce_Input1, "")
    EndIf
    EndFunc ;==>_runonce_add

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

    Func _runonce_clear()
    $Text = _GUICtrlListGetText($Runonce_List1, _GUICtrlListSelectedIndex($Runonce_List1))
    If $Text = "" Then
    Else
    _GUICtrlListDeleteItem($Runonce_List1, _GUICtrlListGetCaretIndex($Runonce_List1))
    EndIf
    EndFunc ;==>_runonce_clear

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

    Func _runonce_edit()
    $Text = _GUICtrlListGetText($Runonce_List1, _GUICtrlListSelectedIndex($Runonce_List1))
    If ($Text == $LB_ERR) Then
    MsgBox(16, "Error", "Kein Eintrag markiert!")
    Else
    GUICtrlSetData($Runonce_Input1, $Text)
    _GUICtrlListDeleteItem($Runonce_List1, _GUICtrlListGetCaretIndex($Runonce_List1))
    EndIf
    EndFunc ;==>_runonce_edit

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

    Func _runonce_up()
    $index = _GUICtrlListSelectedIndex($Runonce_List1)
    If $index > 0 Then
    _GUICtrlListSwapString($Runonce_List1, _GUICtrlListSelectedIndex($Runonce_List1), _GUICtrlListSelectedIndex($Runonce_List1) - 1)
    _GUICtrlListSelectIndex($Runonce_List1,$index - 1)
    EndIf
    EndFunc ;==>_runonce_up

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

    Func _runonce_down()
    $index = _GUICtrlListSelectedIndex($Runonce_List1)
    If $index < _GUICtrlListGetInfo($Runonce_List1) - 1 Then
    _GUICtrlListSwapString($Runonce_List1, _GUICtrlListSelectedIndex($Runonce_List1), _GUICtrlListSelectedIndex($Runonce_List1) 1)
    _GUICtrlListSelectIndex($Runonce_List1,$index 1)
    EndIf
    EndFunc ;==>_runonce_down

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

    Func schliessen()
    If MsgBox(4 32 256 8192, "RunOnce Generator beenden", "Soll der RunOnce Generator wirklich beendet werden?") = 6 Then
    Exit
    EndIf
    EndFunc ;==>schliessen

    [/autoit]