GUICtrlSetImage auf ListViewItems unter Vista

  • Hi,

    ich nutze nun auch seit kurzer Zeit Windows Vista und habe nun mal ein Skript von mir auf Vista laufen lassen, wobei mir sofort etwas auffiel:

    Das setzen eines Icons mit GUICtrlSetImage() in einer ListView funktioniert unter Vista anscheinend nicht, oder ich mache etwas falsch. Ich verweise auch nochmal auf folgendes, was unter Windows XP auch funktioniert: Icon für ListViewItem

    Ausschnitt aus meinem Code:

    [autoit]

    Local $clientarray[$maxitems]
    Local $clientindex = 0

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

    [...]

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

    $clientlistview = GUICtrlCreateListView("Status|Hostname|IP-Address", 10, 35, 780, 400, $WS_BORDER + $LVS_NOSORTHEADER + $LVS_SHOWSELALWAYS + $LVS_NOLABELWRAP, $LVS_EX_FULLROWSELECT + $LVS_EX_SUBITEMIMAGES)
    $clientarray[$clientindex] = GUICtrlCreateListViewItem("|" & $hostname & "|-", $clientlistview)

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

    GUICtrlSetImage($clientarray[$clientindex], $respath & "\icons.dll", 0)
    $clientindex += 1

    [/autoit]

    Ich setze also auf die ID des ListViewItems das Icon. Im Nachhinein betrachtet fällt mir aber auf, dass das Icon ja automatisch in die erste Spalte der ListView gesetzt wird. Gibt es auch eine Möglichkeit dies explizit zu machen (evtl. zweidimensionales Array, was auch die Spalte enthält)?

    Kriegt das jemand unter Windows Vista zum laufen? Das wäre echt super!

  • Nein, ich beziehe mich auf mein Skript. :D
    Zieh mir grad den Source-Code von Galenda rein:

    [autoit]

    GUICtrlSetImage($gui_textmode_list_ids[0][$i + 1], @ScriptDir & "\Resources\bell.ico", 0)

    [/autoit]

    Da ist es ja. Mhh, wieso funktioniert es denn bei mir nicht?
    An den ListView-Style ($WS_BORDER + $LVS_NOSORTHEADER + $LVS_SHOWSELALWAYS + $LVS_NOLABELWRAP, $LVS_EX_FULLROWSELECT + $LVS_EX_SUBITEMIMAGES) liegt es auch nicht. Wenn ich sie weg lasse das selbe. Auch an der selbst erstellten icon-dll kann es nicht liegen, funktioniert auch mit den .ico-dateien nicht.

    [Zeit in der ich weiter probiert habe...]

    Ich fasse es nicht. Es liegt tatsächlich an den .ico-dateien. Womit habt Ihr die gemacht. Ich habe IconXP verwendet, scheint jawohl ziemlicher Mist zu sein.

  • Hi!

    lol, lag wirklich an der Icon-Größe (war mir fast sicher, dass ich sowohl 16x16 als auch 32x32 in den .ico-Dateien hatte) ^^.

    Jetzt funzt es auch unter Vista! Super Sache.

    Danke!

    PS: Gibt es auch eine Möglichkeit die Threads selber zu schließen? Wenn ja finde ich die nicht.

  • unten rechts auffer seite ist ne box da kannste closen und auch wieder öffnen

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]