ListView - Aktion wenn ListView markiert

  • Hi,

    also mit ListViews stehe ich irgendwie auf Kriegsfuß =)

    Eigentlich eine recht simple Sache. Es gibt ja die Funktion _GUICtrlListView_SetHoverTime. Diese "selektiert" ein Item im ListView nach einer vorgegeben Zeit.

    Das Item wird danach blau umrandet. Wenn dies passiert, möchte ich eine Aktion ausführen, aber leider finde ich dafür kein passendes WM_NOTIFY-Element.

    Mein eigentliches Ziel war es, dass, wenn man 3 Sek mit der Maus über einem Eintrag ist, ein Menü erscheint ... Aber diese HoverTime bedeutet wohl nur, wann halt diese blaue Umrandung erstellt wird. Was das aber genau für eine Aktion ist, steht eigentlich nirgends.

    $NM_HOVER wird ausgeführt, sobald die Maus über einem Item ist ... unabhängig von der HoverTime ... also passt das leider auch nicht so ganz.

    Besten Dank schonmal für eure Hilfe.

  • Brauchte auch sowas und hab es zum anfang erstmal mit dem Ansatz hier gemacht. Also einfach in der schleife ne Abfrage.. nicht sehr schön aber funktioniert bei mir soweit: Also die erste Zeile is ja nur relevant glaub ich .. hab das einfahc mala us dem alten skipt so rausgenommen

    Spoiler anzeigen
    [autoit]

    While 1
    if _GUICtrlListView_GetSelectedCount($hListviewHandle)>=1 Then ;wenn etwas makiert ist
    $j = _GUICtrlListView_GetSelectedIndices($ListView) ;$j = Listviewindex der markierten Zeile
    $blah=_GUICtrlListView_GetItemText($hListviewHandle,$j,"0")
    For $i = 0 To UBound($arList)-1
    If $blah = $arList[$i][0] Then
    $k = $i
    ExitLoop
    EndIf
    Next
    Endif
    Wend

    [/autoit]

    edit: Endif nun da ;) muss das mit dem rauskopieren noch üben :D

    Einmal editiert, zuletzt von miks.de (8. November 2012 um 07:22)

  • oder ich mach es doch mit (doppel)-klick und somit WM_Notify-Funktion


    ein Windowsnnutzer erwartet ein Kontextmenü nach Rechtsklick ($NM_RCLICK)

    @miks bei dir fehlt ein EndIf (direkt vr der For ... Bext-Schleife

    mfg autoBert