Liste sortieren mit _GUICtrlListView_SimpleSort geht nicht

  • Moin moin,

    ich möchte eine Liste sortieren, wenn man auf die Spalten klickt. Aber trotz Recherche in der Hilfe finde ich nicht den Fehler; es gibt ein Problem mit ByRef-Parameter *grummel*

    [autoit]

    #include <GuiListView.au3>

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

    Const $programm = 'Test'

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

    GUICreate($programm, 500, 250)
    $GuiBut_beenden = GUICtrlCreateButton('Beenden', 5, 5)
    $GuiList = GUICtrlCreateListView('Datei|Zuletzt Bearbeitet|Größe', 80, 20, 400, 200, 0x0001, BitOR(0x00000001, 0x00000020, 0x00010000))
    GUICtrlCreateListViewItem('A|WETERTERT|sdgfsdgf', $GuiList)
    GUICtrlCreateListViewItem('B|WETERTERT|sdgfsdgf', $GuiList)
    GUICtrlCreateListViewItem('C|WETERTERT|sdgfsdgf', $GuiList)
    GUISetState()

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

    Do
    $aktion = GUIGetMsg()
    Switch $aktion
    Case $GuiList
    Switch GUICtrlGetState($GuiList)
    Case 0
    _GUICtrlListView_SimpleSort($GuiList,True, 0) ;FEHLER!
    EndSwitch
    Case $GuiBut_beenden
    ContinueCase
    Case -3
    Exit
    EndSwitch
    Until 0

    [/autoit]

    Einmal editiert, zuletzt von mille86 (7. März 2010 um 13:00)

    • Offizieller Beitrag

    Du hast das hier vergessen:

    [autoit]

    Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($hListView)]

    [/autoit]


    denn Du kannst hier nicht einfach True eintragen:

    [autoit]

    _GUICtrlListView_SimpleSort($GuiList,True, 0)

    [/autoit]


    Es geht aber auch so:

    Spoiler anzeigen
    [autoit]


    #include <GuiListView.au3>

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

    Const $programm = 'Test'

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

    GUICreate($programm, 500, 250)
    $GuiBut_beenden = GUICtrlCreateButton('Beenden', 5, 5)
    $GuiList = GUICtrlCreateListView('Datei|Zuletzt Bearbeitet|Größe', 80, 20, 400, 200, 0x0001, BitOR(0x00000001, 0x00000020, 0x00010000))
    GUICtrlCreateListViewItem('A|qwer|zuio', $GuiList)
    GUICtrlCreateListViewItem('B|asdf|hjkl', $GuiList)
    GUICtrlCreateListViewItem('C|yxcv|vbnm', $GuiList)
    GUISetState()
    Global $hWndListView = GUICtrlGetHandle($GuiList)
    _GUICtrlListView_RegisterSortCallBack($hWndListView)
    Do
    $aktion = GUIGetMsg()
    Switch $aktion
    Case $GuiList
    _GUICtrlListView_SortItems($hWndListView, GUICtrlGetState($GuiList))
    Case $GuiBut_beenden
    ContinueCase
    Case -3
    _GUICtrlListView_UnRegisterSortCallBack($hWndListView)
    Exit
    EndSwitch
    Until 0

    [/autoit]