Listview - AutoIt Bug ?

  • Also ich hab folgenden Code:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 447, 192, 124)
    $ListView1 = GUICtrlCreateListView("||", 85, 50, 266, 276, -1, BitOR($WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES,$LVS_EX_CHECKBOXES,$LVS_EX_FULLROWSELECT))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
    $ListView1_0 = GUICtrlCreateListViewItem("awra|wefsef|efesf", $ListView1)
    $ListView1_1 = GUICtrlCreateListViewItem("wefsef|wefes", $ListView1)
    $ListView1_2 = GUICtrlCreateListViewItem("awefsef|ewefwef|efewfwef", $ListView1)
    $Button1 = GUICtrlCreateButton("Button1", 80, 405, 241, 41, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Dim $test
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1
    MsgBox(0,"test",_GUICtrlListView_GetItemCount($ListView1))
    For $x = 1 To _GUICtrlListView_GetItemCount($ListView1)
    If _GUICtrlListView_GetItemChecked($ListView1, $x - 1) Then
    $test = $test & _GUICtrlListView_GetItemTextString($ListView1, $x - 1) & "Zeile: " & $x & @CRLF
    EndIf
    Next
    MsgBox(0, "listview item", $test)
    EndSwitch
    WEnd

    [/autoit]

    Wird der letzte Eintrag des Listview angeklickt, so wird der Code ausgeführt der eigentlich dem Button zugeordnet ist.

    Deklariert man hingegen den Button vor dem Listview, dann passiert das nicht.
    Mein Fehler oder AutoIt Fehler? Achja, verwende Version 3.2.0.0

    Einmal editiert, zuletzt von Bitboy (28. Januar 2010 um 18:57)

    • Offizieller Beitrag

    Normalerweise sollte man bei Bugmeldungen ja mit der aktuellen Version testen. :whistling:

    Ich habe das mal getan und der "Fehler" triit auch dort auf. Der Fehler liegt daran, dass Du im Listview-Header nichts eingetragen hast.
    Wenn Du den Header leer lassen willst, solltest Du min. ein Leerzeichen in die letzte Spalte eintragen:

    [autoit]

    GUICtrlCreateListView("|| ",...)

    [/autoit]