Checkboxen in der Listview

  • :D So schaut mein Code aus:

    Spoiler anzeigen
    [autoit]

    $anzahl = IniRead(@ScriptDir&"\userdata.ini","Data","Dateien","error")
    Global $Item[$anzahl+1]
    For $f = 1 to $anzahl
    $get_fileid = IniRead(@ScriptDir&"\userdata.ini",$f,"fileid","error")
    $get_filename = IniRead(@ScriptDir&"\userdata.ini",$f,"filename","error")
    $get_downloads = IniRead(@ScriptDir&"\userdata.ini",$f,"downloads","error")
    $get_sizekb = IniRead(@ScriptDir&"\userdata.ini",$f,"sizekb","error")
    $get_lastdownload = IniRead(@ScriptDir&"\userdata.ini",$f,"lastdownload","error")
    $get_killcode = IniRead(@ScriptDir&"\userdata.ini",$f,"killcode","error")
    $Item[$f] = GUICtrlCreateListViewItem($get_filename &"|"& $get_sizekb &"|"& $get_downloads &"|"& $get_lastdownload ,$listview)
    Next

    [/autoit]


    Zum Testen hab ich MsgBox(0,"",GUICtrlGetState($Item[3])) genommen. Ich bekomme immer 80, egal ob checked oder unchecked.
    Ich hab bestimmt mal wieder was vergessen, so wie ich mich kenn... Aber listview mach ich auch zum ersten Mal.

    Einmal editiert, zuletzt von Taek (13. August 2008 um 12:27)

    • Offizieller Beitrag

    Hi,

    hier ein Bsp:

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

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

    Opt('MustDeclareVars', 1)

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

    $Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

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

    _Main()

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

    Func _Main()
    Local $hListView, $check_B = 0, $msg = 0

    GUICreate("ListView Get Item Checked State", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 168)
    $check_B = GUICtrlCreateButton('CHECK STATE', 5, 200, 390, 21)
    _GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES))
    GUISetState()

    ; Add columns
    _GUICtrlListView_AddColumn($hListView, "Column 1", 100)
    _GUICtrlListView_AddColumn($hListView, "Column 2", 100)
    _GUICtrlListView_AddColumn($hListView, "Column 3", 100)

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

    ; Add items
    _GUICtrlListView_AddItem($hListView, "Row 1: Col 1", 0)
    _GUICtrlListView_AddSubItem($hListView, 0, "Row 1: Col 2", 1)
    _GUICtrlListView_AddSubItem($hListView, 0, "Row 1: Col 3", 2)
    _GUICtrlListView_AddItem($hListView, "Row 2: Col 1", 1)
    _GUICtrlListView_AddSubItem($hListView, 1, "Row 2: Col 2", 1)
    _GUICtrlListView_AddItem($hListView, "Row 3: Col 1", 2)

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

    ; Check item 2
    ;~ _GUICtrlListView_SetItemChecked($hListView, 1)
    ;~ MsgBox(4160, "Information", "Item 2 Checked: " & _GUICtrlListView_GetItemChecked($hListView, 1))

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

    ; Loop until user exits
    Do
    $msg = GUIGetMsg()
    If $msg = $check_B Then
    For $i = 0 To _GUICtrlListView_GetItemCount($hListView)
    If _GUICtrlListView_GetItemChecked($hListView, $i) Then
    ConsoleWrite(_GUICtrlListView_GetItemText($hListView, $i) & " is checked!" & @CRLF)
    EndIf
    Next
    ConsoleWrite('!--------------------------------------------------------' & @CRLF)
    EndIf

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

    Until $msg = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    Mega