List Box Befehle

  • Hi,

    ich habe eine ListBox, weiß aber nicht, wie ich folgendes ausführen kann:
    - Ausgewählten String löschen
    - Neuen Sting über ausgewähltem String einfügen
    - Mehrfachauswahl
    - Gesamten Inhalt in eine Zeile auslesen

    Wäre sehr nice, wenn mir das erklärt werden könnte. :P
    Dankeschön!


    MfG
    qixx

    • Offizieller Beitrag

    Zu 1. _GuiCtrlListbox_GetCurSel gibt den selektierten Eintrag(Index) zurück den du mit _GUICtrlListBox_DeleteString löschen kannst.
    Zu 2. mit _GuiCtrlListBox_InsertString kannst du einfügen, also mit Zu1. kombinieren.
    ZU 3. Style $LBS_EXTENDEDSEL verwenden. Ob er für eine GUICtrlCreateList funktioniert weiß ich nicht , ausprobieren. ggf _GUICtrlListBox_Create verwenden.
    Zu 4. _GUICtrlListBox_GetText

    Einmal editiert, zuletzt von Raupi (14. Dezember 2009 um 22:19)

  • Mal ergänzend zu Raupis erklärungen:

    Spoiler anzeigen
    [autoit]

    #Include <GuiListBox.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $hGUI = GUICreate("Button321",450,200)
    $Delete_Selected = GUICtrlCreateButton("Auswahl löschen",20,30,150,25)
    $Delete_All = GUICtrlCreateButton("Alle löschen",20,70,150,25)
    $Insert_Into = GUICtrlCreateButton("Bei Auswahl einfügen",20,110,150,25)
    $GetAllText = GUICtrlCreateButton("Strings auslesen",20,150,150,25)
    $ListBox = _GUICtrlListBox_Create($hGUI,"",270,20,160,160,BitOR($WS_HSCROLL, $WS_VSCROLL, $WS_BORDER))
    _GUICtrlListBox_AddString($ListBox,"1")
    _GUICtrlListBox_AddString($ListBox,"2")
    _GUICtrlListBox_AddString($ListBox,"3")
    _GUICtrlListBox_AddString($ListBox,"4")
    GUISetState()

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

    While 1 * Sleep(10)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Delete_Selected
    _GUICtrlListBox_DeleteString($ListBox,_GUICtrlListBox_GetCurSel($ListBox))
    Case $Delete_All
    _GUICtrlListBox_ResetContent($ListBox)
    Case $Insert_Into
    _GUICtrlListBox_InsertString($ListBox,"Hallo",_GUICtrlListBox_GetCurSel($ListBox))
    Case $GetAllText
    MsgBox(0,"",_GetListBoxText($ListBox))
    Case -3
    Exit
    EndSwitch

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

    WEnd
    Func _GetListBoxText($hWnd)
    Local $Return
    For $i = 0 To _GUICtrlListBox_GetCount($hWnd)-1
    $Return &= _GUICtrlListBox_GetText($hWnd,$i)&"|"
    Next
    Return StringTrimRight($Return,1)
    EndFunc

    [/autoit]