#include <GuiListView.au3>
#include <Constants.au3>
#Include <Eventhandler.au3>

Opt("GUIOnEventMode", 1) ; Zum OnEvent-Mode wechseln

Global $aGo = True
Global $gMain, $h_close, $listview

;GUI erstellen
$gMain = GUICreate("Bsp. Eventhandler", 200, 200)

; buttons erstellen
$h_close = GUICtrlCreateButton("X", 140, 170, 50, 20)  

; listview erstellen
$listView = GuiCtrlCreateListView("Sample|ListView", 10, 10, 180, 160, 0)
_GUICtrlListView_SetColumnWidth($listview, 0, 180*0.50) 
_GUICtrlListView_SetColumnWidth($listview, 1, 180*0.48)
_GUICtrlListView_SetBkColor($listview, $CLR_MONEYGREEN)
GuiCtrlCreateListViewItem("A|One", $listView)
GuiCtrlCreateListViewItem("B|Two", $listView)
GuiCtrlCreateListViewItem("C|Three", $listView)

; events definieren
_GUISetOnEvent($GUI_EVENT_CLOSE, "ExitClicked", $gMain)

_GUICtrlSetOnEvent($EVENT_PRIMARY_CLICK, "ExitClicked", $gMain, $h_close)
_GUICtrlSetOnEvent($EVENT_PRIMARY_CLICK, "test", $gMain, $listview)
_GUICtrlSetOnEvent($EVENT_PRIMARY_DBLCLICK, "test2", $gMain, $listview)
_GUICtrlSetOnEvent($EVENT_SECONDARY_CLICK, "test3", $gMain, $listview)

; GUI anzeigen
GUISetState(@SW_SHOW)

while $aGo
	Sleep(100)
WEnd
Exit


Func test()
	$selection = _GUICtrlListView_GetSelectedIndices($listview)
	if $selection = "" then Return
	$selection = StringSplit($selection, "|")
	for $i = 1 to $selection[0]
		ConsoleWrite("Element: "&_GUICtrlListView_GetItemText($listview, int($selection[$i]))&@CRLF)
	Next
	ConsoleWrite("___________________________________________________"&@CRLF)
EndFunc

Func test2()
	_GUICtrlListView_SetView($listview, Mod(_GUICtrlListView_GetView($listview) + 1, 5))
EndFunc

Func test3()
	if _GUICtrlListView_GetBkColor($listview) = $CLR_MONEYGREEN Then
		_GUICtrlListView_SetBkColor($listview, $CLR_SKYBLUE)
	Else
		_GUICtrlListView_SetBkColor($listview, $CLR_MONEYGREEN)
	EndIf	
EndFunc

Func ExitClicked() ; handle für End-Knopf
	$aGo = False 
EndFunc
