Listview auslesen

  • hallo...hab ein problemchen...finde allerdings nirgends die lösung :(

    ich habe eine Listview mit einer spalte
    wenn ich nun einen eintrag markiere und auf einen button klicke soll der text,des markierten items kommen, bekomms aber irgendwie net hin, entweder kommen nur zahlen oder garnix

    Einmal editiert, zuletzt von Reaker (3. Oktober 2009 um 14:50)

  • Wo ist dein Code :?:
    Probier mal

    [autoit]

    _GUICtrlListView_GetSelectedIndices
    _GUICtrlListView_GetItemText

    [/autoit]

    Kennst du die deutsche Hilfe :?:

  • klaro kenn ich die...ich werde ja kaum ne frage im forum stellen wenn ich vorher nicht in der hilfe nachgelesen habe

    das Skript an sich wäre jetz zu unübersichtlich aber ich kanns mal auf die wichtigsten sachen zusammenfassen:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 144, 308, 192, 124)
    $ListView1 = GUICtrlCreateListView("Spalte", 6, 6, 127, 220, BitOR($LVS_REPORT,$LVS_NOCOLUMNHEADER,$LVS_SINGLESEL,$LVS_SHOWSELALWAYS))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 120)
    $ListView1_0 = GUICtrlCreateListViewItem("item1", $ListView1)
    $ListView1_1 = GUICtrlCreateListViewItem("item2", $ListView1)
    $ListView1_2 = GUICtrlCreateListViewItem("item3", $ListView1)
    $ListView1_3 = GUICtrlCreateListViewItem("item4", $ListView1)
    $Button1 = GUICtrlCreateButton("getdata", 12, 240, 103, 28, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    $value = _GUICtrlListView_GetItemText($ListView1, 2)
    MsgBox(0, "", $value)
    EndSwitch
    WEnd

    [/autoit]

    und der teil bei button1 funktioniert eben nicht, das ist mein problem

    • Offizieller Beitrag

    Probier es so:

    Spoiler anzeigen
    [autoit]

    $Form1 = GUICreate("Form1", 144, 308, 192, 124)
    $ListView1 = GUICtrlCreateListView("Spalte", 6, 6, 127, 220, BitOR($LVS_REPORT,$LVS_NOCOLUMNHEADER,$LVS_SINGLESEL,$LVS_SHOWSELALWAYS))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 120)
    $ListView1_0 = GUICtrlCreateListViewItem("item1", $ListView1)
    $ListView1_1 = GUICtrlCreateListViewItem("item2", $ListView1)
    $ListView1_2 = GUICtrlCreateListViewItem("item3", $ListView1)
    $ListView1_3 = GUICtrlCreateListViewItem("item4", $ListView1)
    $Button1 = GUICtrlCreateButton("getdata", 12, 240, 103, 28, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    $value = _GUICtrlListView_GetItemText($ListView1,_GuiCtrlListView_GetFirstSelected($ListView1))
    MsgBox(0, "", $value)
    EndSwitch
    WEnd
    Func _GuiCtrlListView_GetFirstSelected($hwnd)
    Global $SelectedItemi
    $SelectedItemi = _GUICtrlListView_GetSelectedIndices($hwnd, True)
    If $SelectedItemi[0] = 0 Then Return SetError(1)
    Return $SelectedItemi[1]
    EndFunc ;==>_GuiCtrlListView_GetFirstSelected

    [/autoit]
  • Hallo Reaker,

    falls keine Mehrfachauswahl benötigt wird, kannst du es auch so machen:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 144, 308, 192, 124)
    $ListView1 = GUICtrlCreateListView("Spalte", 6, 6, 127, 220, BitOR($LVS_REPORT,$LVS_NOCOLUMNHEADER,$LVS_SINGLESEL,$LVS_SHOWSELALWAYS))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 120)
    $ListView1_0 = GUICtrlCreateListViewItem("item1", $ListView1)
    $ListView1_1 = GUICtrlCreateListViewItem("item2", $ListView1)
    $ListView1_2 = GUICtrlCreateListViewItem("item3", $ListView1)
    $ListView1_3 = GUICtrlCreateListViewItem("item4", $ListView1)
    $Button1 = GUICtrlCreateButton("getdata", 12, 240, 103, 28, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    $value = _GUICtrlListView_GetItemTextString($ListView1)

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

    MsgBox(0, "", $value)
    EndSwitch
    WEnd

    [/autoit]

    mfg (Auto)Bert

    • Offizieller Beitrag

    autoBert, irgendwie hab ich schon geahnt das du dieses Beispiel posten wirst. :D
    Warum bist du eigentlich immer Unsichtbar? Willst du nicht erkannt werden.
    Sorry wegen der Frage, aber ich habe dich noch nie Online gesehen.

  • Hallo Raupi ,

    autoBert, irgendwie hab ich schon geahnt das du dieses Beispiel posten wirst. :D

    Warum hast du es dann nicht selbst gepostet, $LVS_SINGLESEL war doch als Style vorgegeben :?:

    Warum bist du eigentlich immer Unsichtbar? Willst du nicht erkannt werden.
    Sorry wegen der Frage, aber ich habe dich noch nie Online gesehen.

    Es gab durchaus Zeiten, in denen ich auch sichtbar war, geniesse aber die Privatsphäre und wenn ich auf Themen antworte gebe ich mich doch zu erkennen

    mfg (Auto)Bert