Aktion ausführen beim Anklicken von Listeintrag in einem Listfeld

  • Hallo zusammen

    ich habe ein Formular erstellt indem ich meine Adressen in einem Listfeld (GUICtrlCreateList) anzeige.

    Ist es möglich wenn ich einen Eintrag in dem Listfeld markiere, dass automatisch eine Aktion ausgeführt wird, ohne dass ich zuerst auf einen Button klicken muss, welcher diese Aktion ausführt.

    Spoiler anzeigen

    #include <GuiListBox.au3>
    #include <File.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Dim $array_1,$suche_adressen,$string_logfile
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 543, 350, 50)
    $lbl_top = GUICtrlCreateLabel("",-1,-1,625,100)
    GUICtrlSetBkColor(-1,0x000084)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\autoit_240x100.jpg", 200, -1, 240, 100, BitOR($SS_NOTIFY,$WS_GROUP))
    $grp_group1 = GUICtrlCreateGroup("Adresse:",5,110,500,50)
    $input_input1 = GUICtrlCreateInput("",10,130,490,20)
    $grp_group2 = GUICtrlCreateGroup("Liste der Adressen",5,160,500,200)
    $list_list1 = GUICtrlCreateList("",10,180,490,175)
    $grp_group3 = GUICtrlCreateGroup("Log Information",5,365,500,150)
    $edit_edit1 = GUICtrlCreateEdit("",10,380,490,130)
    $button_suche = GUICtrlCreateButton("Adresse suchen",520,120,100,30)
    $button_listadressen = GUICtrlCreateButton("Adressen anzeigen",520,170,100,30)

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button_suche
    GUICtrlSetData($list_list1,"")
    GUICtrlSetData($edit_edit1,"")
    $suche_adressen = GUICtrlRead($input_input1)
    _FileReadToArray(@ScriptDir & "\Adressen.txt",$array_1)
    For $i = 1 to UBound($array_1) -1
    If StringInStr($array_1[$i],$suche_adressen) Then
    GUICtrlSetData($list_list1,$array_1[$i])
    $string_logfile &= @HOUR & ":" & @MIN & ":" & @SEC & " " & $array_1[$i] & @CRLF
    GUICtrlSetData($edit_edit1,$string_logfile)
    EndIf
    Next
    Case $button_listadressen
    GUICtrlSetData($list_list1,"")
    _FileReadToArray(@ScriptDir & "\Adressen.txt",$array_1)
    For $i = 1 To UBound ($array_1) - 1
    _GUICtrlListBox_AddString ($list_list1, $array_1 [$i])
    Next
    EndSwitch
    WEnd

    Einmal editiert, zuletzt von johny1099 (3. Dezember 2009 um 09:12)

    • Offizieller Beitrag

    Hi quick & dirty ginge so :

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <GuiListBox.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <WinAPI.au3>
    Dim $array_1, $suche_adressen, $string_logfile
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 543, 350, 50)
    $lbl_top = GUICtrlCreateLabel("", -1, -1, 625, 100)
    GUICtrlSetBkColor(-1, 0x000084)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\autoit_240x100.jpg", 200, -1, 240, 100, BitOR($SS_NOTIFY, $WS_GROUP))
    $grp_group1 = GUICtrlCreateGroup("Adresse:", 5, 110, 500, 50)
    $input_input1 = GUICtrlCreateInput("", 10, 130, 490, 20)
    $grp_group2 = GUICtrlCreateGroup("Liste der Adressen", 5, 160, 500, 200)
    $list_list1 = GUICtrlCreateList("", 10, 180, 490, 175)
    $grp_group3 = GUICtrlCreateGroup("Log Information", 5, 365, 500, 150)
    $edit_edit1 = GUICtrlCreateEdit("", 10, 380, 490, 130)
    $button_suche = GUICtrlCreateButton("Adresse suchen", 520, 120, 100, 30)
    $button_listadressen = GUICtrlCreateButton("Adressen anzeigen", 520, 170, 100, 30)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button_suche
    GUICtrlSetData($list_list1, "")
    GUICtrlSetData($edit_edit1, "")
    $suche_adressen = GUICtrlRead($input_input1)
    _FileReadToArray(@ScriptDir & "\Adressen.txt", $array_1)
    For $i = 1 To UBound($array_1) - 1
    If StringInStr($array_1[$i], $suche_adressen) Then
    GUICtrlSetData($list_list1, $array_1[$i])
    $string_logfile &= @HOUR & ":" & @MIN & ":" & @SEC & " " & $array_1[$i] & @CRLF
    GUICtrlSetData($edit_edit1, $string_logfile)
    EndIf
    Next
    Case $button_listadressen
    GUICtrlSetData($list_list1, "")
    _FileReadToArray(@ScriptDir & "\test.txt", $array_1)
    For $i = 1 To UBound($array_1) - 1
    _GUICtrlListBox_AddString($list_list1, $array_1[$i])
    Next
    EndSwitch
    $selection = _GUICtrlListBox_GetCurSel($list_list1)
    If $selection <> -1 Then ToolTip("Ausgewählt ist : " & $selection)
    WEnd

    [/autoit]