guictrllistview item markieren?!

  • Hallo,

    ich bin vermutlich der einzig verrückter der am 24ten einen neuen Frage Thread erstellt, aber bin gerade zu doof dazu. Ich wollte mit

    [autoit]

    _GUICtrlListView_SetItemChecked($handle, $i, True)

    [/autoit]

    im meinem Script das Item mit der Nummer $i in dem listview $handle auf markiert setzen, aber irgendwie macht er das nicht. Oder benutze ich die falsche function?

    schöne Weihnachten :)

    Franz

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    Einmal editiert, zuletzt von franzp (27. Dezember 2008 um 22:07)

  • Hallo Funkey,

    vielen Dank.. aber

    [autoit]

    _GUICtrlListView_SetItemChecked

    [/autoit]

    geht auch nicht. Irgendwas mach ich falsch. Das Beispiel in der Hilfe nutzt mir auch nicht so recht...

    Soll ich den Code posten? ist allerdings auch schon ziemlich lang.

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    • Offizieller Beitrag

    Wieso wieder

    [autoit]

    _GUICtrlListView_SetItemChecked

    [/autoit]

    das hattes du doch ursprünglich schon.

    [autoit]

    _GUICtrlListView_SetItemSelected

    [/autoit]

    wäre das Richtige um zu selektieren.
    Hat dir aber funkey schon geschrieben .

  • Oh ja sorry ich habe mich verschrieben! Ich hatte es mit dann mit

    [autoit]

    _GUICtrlListView_SetItemSelected($handle, $i, True)

    [/autoit]

    probiert. Aber geht leider nicht.. :huh:

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    • Offizieller Beitrag

    Dann poste doch mal deinen Code zum testen.

    • Offizieller Beitrag

    Hast Du in Deinem Script zum erstellen des Listviews vielleicht den Standard-Befehl "$listview = GUICtrlCreateListView" benutzt?
    Und dann vielleicht vergessen, beim selektieren das Handle zu benutzen: _GUICtrlListView_SetItemSelected(GUICtrlGetHandle($listview), $i, True)

    Die Standard-Befehle liefern immer eine Control-ID zurück. Viele UDFs wollen aber das Handle als Übergabe-Parameter.

    Eine beliebte Fehlerquelle (spreche da aus eigener Erfahrung). :rolleyes:

  • @Osacr - Danke ja das problem mit dem handle hatte ich bereits auch schon :D Ich benutze aber den handle. Aber vielleicht irgendwie ein anderer denkfehler..
    Also im Player 1 (links) soll nachdem ein Lied abgespielt wird, der Eintrag auch weiterhin im listview markiert bleiben. Ich finde es eh komisch, dass er sobald ich auf play drücke, der titel nicht mehr "checked" ist.

    Ich glaube das Problem ist in Zeile 219.

    P.S. beim start bitte eine SQL DB anlegen und dann einen ordner mit ein paar mp3´s auswählen.. Damit das listview gefüllt wird. Und nicht wundern viele Funktionien funktionieren noch nicht...

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    • Offizieller Beitrag

    Ich denke, das Problem ist, dass das Listview den Focus verliert, sobald Du einen Button anklickst. Somit verschwindet auch die Markierung. Es sei denn, man fügt beim erstellen des Listviews den Style $LVS_SHOWSELALWAYS hinzu:

    So sollte es gehen:

    [autoit]

    $ListView1 = GUICtrlCreateListView("id|Name|Title|Artist|Album|Year|Genre|duration|Bitrate|Description|Path", 8, 8, 1146, 478, BitOr($LVS_REPORT, $LVS_SHOWSELALWAYS))

    [/autoit]
  • Hi,

    hab nur einen kleinen Verbesserungsvorschlag:
    Damit die Fortschrittsanzeige beim Indexieren egal bei wieviel Elementen immer bis zum Ende läuft...
    Deine Zeile 327 ersetzt:

    Spoiler anzeigen
    [autoit]

    ProgressSet(100/UBound($array)*$i, $i & " von " & UBound($array) -1 & " Elemente gespeichert.")

    [/autoit]

    ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • Oscar Ja das ist natürlich die einfachere Lösung, da er die markierung einfach nicht verliert :D Cool da wäre ich nicht drauf gekommen! Danke

    Schnuffel Danke.. Ja da sind noch sehr sehr viele Dinge zu tun! Aber danke, das hätte ich vermutlich garnicht mehr bemerkt! Weil ich meine Mp3´s alle in der DB hab.

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---