Hi,
ich habe hier mal ein Testscript gemacht welches mir den Index der selectierten Zeile ausgeben soll:
Spoiler anzeigen
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
$Form1 = GUICreate("Form1", 625, 443, 192, 124)
$ListView1 = GUICtrlCreateListView("ID|Name|Port|Status|Online|Max Clients|Uptime", 24, 16, 561, 281, BitOR($LVS_NOSORTHEADER, $LVS_SINGLESEL))
GUICtrlCreateListViewItem("1|test|1234", $ListView1)
GUICtrlCreateListViewItem("2|noch einer|6434", $ListView1)
GUICtrlCreateListViewItem("44|der letzte|1010", $ListView1)
GUISetState(@SW_SHOW)
Dim $selected = ""
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]If _GUICtrlListView_GetSelectionMark($ListView1) = 0 Or _GUICtrlListView_GetSelectionMark($ListView1) > 0 Then
If Not $selected = _GUICtrlListView_GetSelectionMark($ListView1) Then
$selected = _GUICtrlListView_GetSelectionMark($ListView1)
MsgBox(0, "", $selected)
EndIf
EndIf
WEnd
Problem ist nun, dass das nicht so ganz funktioniert. Klickt man auf die erste Zeile passiert nichts, klickt man dann auf die zweie kommt die Msg mit dem Index, klickt man dann wieder auf die erste kommt hier auch richtig die ID.
Oder anderes Beispiel, klickt man zuerst auf die dritte Zeile dann kommt die Msg, wenn man aber im Anschluss auf die zweite Zeile klickt kommt sie nicht.
Hab da nun schon zwei Stunden rumüberlegt aber ich hänge einfach. Hat jemand eine Idee was ich falsch macheß