_GUICtrlListView_ in OnEvent Script

  • Hallo,
    habe ein eigentlich sehr überschaubares Problem, was sich aber einfach nicht lösen lässt.
    Vielleicht hänge ich heute auch schon zu lange vor Scite :rolleyes:

    Naja zum Problem.
    Ich habe ein Gui mit ListView:

    [autoit]

    $list_view = GUICtrlCreateListView("Datum (Y.M.D.)|Betreff|Sender|Status", 20, 80, 574, 291, BitOR($WS_VSCROLL, $WS_BORDER, $LVS_SINGLESEL))

    [/autoit]

    Die Spalten verändere ich dann nach dem GUISetState (@SW_SHOW,$Form_nachrichten) folgendermaßen:

    [autoit]

    $hLVHandle5 = GUICtrlGetHandle ($list_view)
    MsgBox (0,"",_GUICtrlListView_RegisterSortCallBack($hLVHandle5))
    MsgBox (0,"",_GUICtrlListView_SetColumn($hLVHandle5, 0, "Datum (Y.M.D.)",143, 0))
    _GUICtrlListView_SetColumn($hLVHandle5, 1, "Sender", 144, 0)
    _GUICtrlListView_SetColumn($hLVHandle5, 2, "Betreff", 198, 0)
    _GUICtrlListView_SetColumn($hLVHandle5, 3, "Status", 79, 0)

    [/autoit]

    So lange ich den OnEvent mode aus lasse klappt auch alles.
    Sobald ich ihn jedoch aktiviere (ja, ich brauche ihn wirklich) funktioniert das Verändern der Spalten nicht mehr.
    RegisterCallBack gibt True zurück.
    Aber die SetColumn-Befehle geben False zurück.

    Das gleiche Problem habe ich bei:

    [autoit]

    $listindex5 = _GUICtrlListView_GetSelectedIndices ($list_view, True)

    [/autoit]

    Der befehl gibt für $listindex5[0] auch immer "" zurück, was laut Hilfe einen Fehler bedeutet.

    Gibt es vielleicht andere Befehle für den OnEventMode?
    Arbeite heute zum ersten mal mit GuiOnEventMode, deshalb kenne ich mich noch überhaupt nicht damit aus.

    MfG

    • Offizieller Beitrag

    Gib mal bitte ein Lauffähiges Besipiel, ich bin sicher dir ist zu helfen.

    Edit: Der Fehler bei _GUICtrlListView_GetSelectedIndices schein kann daher kommen, das du die ControlID anstatt dem Handle benutzt.
    Ist aber schwer zu Raten, besser geht es mit einem Script.

  • Hm,
    tut mir leid, habe jetzt ein lauffähiges Script zusammengebaut, und da geht es :huh: ...
    Nur in meinem Programm nicht...

    Ich gucke jetzt mal, wo der Fehler liegt und gebe dann nochmal bescheid.


    Edit: Nein, ich habe im Original das Handle benutzt, und genau das war der Fehler. Ich muss die ControlID benutzen.
    Danke für den Tip^^