ListView

  • So ich habe mal eine frage ich habe ein button angenommen $button und eine listview $listview mit 5 items und nun will ich dass wenn man was in der listview ausgewählt hat das dann der button ($button) dann seinen state verändert ($GUI_ENABLE) und wenn man nichts ausgewählt hat disabled bleibt bitte um hilfe :)
    mfg nof@ker

    Einmal editiert, zuletzt von nof@ker2 (16. April 2009 um 22:25)

    • Offizieller Beitrag

    Das könntest du mit _GUICtrlListView_GetSelectedCount machen . Wenn das Ergebnis 0 ist $GUI_DISABLE und ungleich 0 $GUI_ENABLE.

    Edit: Hier mal ein Beispiel :

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>

    [/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, $hButton, $Show = False

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

    GUICreate("ListView Get Selected Count", 400, 500)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
    $hButton = GUICtrlCreateButton("Listview selected", 2, 350, 100, 17)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState()
    _GUICtrlListView_AddColumn($hListView, "Column 1", 100)
    _GUICtrlListView_AddItem($hListView, "Item 1")
    _GUICtrlListView_AddItem($hListView, "Item 2")
    _GUICtrlListView_AddItem($hListView, "Item 3")

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

    Do
    If _GUICtrlListView_GetSelectedCount($hListView) <> 0 And $Show = False Then
    GUICtrlSetState($hButton, $GUI_ENABLE)
    $Show = True
    ElseIf _GUICtrlListView_GetSelectedCount($hListView) = 0 And $Show = True Then
    GUICtrlSetState($hButton, $GUI_DISABLE)
    $Show = False
    EndIf
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]