Hallo,
aus einer ListView möchte ich den Text des Subitems1 des gerade selektierten Items lesen. Egal was für Styles ich gebe,
[autoit]$text = _GUICtrlListView_GetItemText($list, _GUICtrlListView_GetSelectedIndices($list), 1)
MsgBox(0,"",$text)
Gibt immer nichts zurück.
Wenn ich statt _GUICtrlListView_GetSelectedIndices(...) einfach 0 als Index einsetze, kommt der richtige Wert des ersten Items als Rückgabe. Wenn ich den Rückgabewert von _GUICtrlListView_GetSelectedIndices(...) in einer MsgBox ausgebe, kommt aber auch der richtige Indexwert!
Hier ist ein Beispiel:
Spoiler anzeigen
#include <GuiListView.au3>
GUICreate("hik",400,200)
$list = GUICtrlCreateListView("1|2",5,5,390,150)
GUICtrlCreateListViewItem("hallo|cya",$list)
GUICtrlCreateListViewItem("hallo2|cya2",$list)
$start = GUICtrlCreateButton("Start Test", 5,170)
GUISetState()
Func GetValue()
If _GUICtrlListView_GetSelectedIndices($list) = "" Then
MsgBox(0,"","Bitte wähle zuerst eine Spalte aus")
Else
MsgBox(0,"Index stimmt",_GUICtrlListView_GetSelectedIndices($list))
MsgBox(0,"Warum ist die Ausgabe falsch?!?",_GUICtrlListView_GetItemText($list, _GUICtrlListView_GetSelectedIndices($list), 1))
MsgBox(0,"Warum geht es aber mit manuellem Index???", _GUICtrlListView_GetItemText($list, 0, 1))
MsgBox(0,"Warum geht es aber mit manuellem Index???", _GUICtrlListView_GetItemText($list, 1, 1))
EndIf
EndFunc
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $start
GetValue()
EndSwitch
Sleep(5)
WEnd