Bilder in Listview möglich?

  • Hallo AutoIt,

    ich habe mal eine Frage, diese steht zwar als Thema aber trotzdem.

    Ist es ürgendwie möglich Bilder in einer ListView anzeigen zu lassen?
    Wenn ja wie kann man dies umsetzen?

    Weil ich lese aus einer Textdatei (selbst erstellt) bestimmte Daten aus, diese werden in einer ListView dann aufgelistet. Nur würde ich dann in einem Bestimmten Feld "Farbe" eine oder mehrere Farben darstellen lassen.

    Ich hoffe dies kann man ürgendwie umsetzen.

    mfg.
    Jochen | Tak

  • Also ich habe es versucht so zu lösen:

    Dort wo er die Daten Laden soll sieht es es aus

    Spoiler anzeigen
    [autoit]

    $File=FileOpen("stf\karten.stf", 0)
    $AnzKarten=FileReadLine($file)
    FileReadLine($file)
    For $i=1 to $AnzKarten
    For $z=0 to 5
    $Karten[$i][$z]=FileReadLine($file)
    Next
    for $tt=3 to 3
    if $Karten[$i][$tt]<>"" and $Karten[$i][$tt]<>"Für diesen Dämon sind keine Fusionsdaten vorhanden" Then
    $Test=$Karten[$i][$tt]
    $Karten[$i][$tt]=""
    $tz=1
    while $tz=1
    if StringInStr($Test,"Feuer") and StringInStr($Test,"Frost") and StringInStr($Test, "Schatten") and StringInStr($Test, "Natur") or StringInStr($Test, "Beliebig")=0 then
    $tz=0
    Else
    $Karten[$i][$tt]=$Karten[$i][$tt]&stringleft($Test,StringInStr($Test,"Feuer") and StringInStr($Test,"Frost") and StringInStr($Test, "Schatten") and StringInStr($Test, "Natur") or StringInStr($Test, "Beliebig")-1)&"gfx\sphaeren\"&$Karten[$i][$tt]&".gfx"
    $Test=stringright($Test,stringlen($Test)-StringInStr($Test,"Feuer") and StringInStr($Test,"Frost") and StringInStr($Test, "Schatten") and StringInStr($Test, "Natur") or StringInStr($Test, "Beliebig"))
    EndIf
    WEnd
    $Karten[$i][$tt]=$Karten[$i][$tt]&$Test
    Else
    if $Karten[$i][5]="*" then $Karten[$i][7]=$tt-2
    EndIf
    Next
    Next
    FileClose($file)

    [/autoit]

    Dies hatte ich mal ürgendwo gesehen aber ich weiss es nicht mehr wo (Leigt aber in einer Seperaten au3 File, wo ich es rauskopiert und abgeändert habe).

    Nur wenn er die Daten läd und ich mir die Lisview anzeigen lasse, kommt nur das Fgfx\sphaeren\.gfx

    Hier mal die ListView

    [autoit]

    $listview = GUICtrlCreateListView("Kartenname|Typ|Kosten|Spähren Stufe", 8, 50, 500, 580, $LVS_REPORT)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)

    [/autoit]

    So wie ich es zu lösen versucht habe

    [autoit]

    $Test=$Karten[$i][3]
    if StringInStr($Test,"Feuer") and StringInStr($Test,"Frost") and StringInStr($Test, "Schatten") and StringInStr($Test, "Natur") or StringInStr($Test, "Beliebig")=1 then
    _GUICtrlListView_SetItemImage($ListView, "gfx\sphaeren\"&$Karten[$i][3]&".gfx", "3")
    EndIf

    [/autoit]

    Hoffe mir kann da jemand helfen

    mfg.
    Tak | Jochen

    ps: Die Datei sieht etwa so aus

    [autoit]

    1 ;~ Liest den aktuellen Inhalt aus
    Kartenname, Typ, Kosten, Spähren Stufe, Natur/Feuer/Schatten/Frost* ;~ Diese Zeile wird übersprungen
    Test ;~ Ab hier liest er alles Zeile für Zeile ein
    -
    -
    -
    Feuer
    *

    [/autoit]
  • Hallo tak,

    poste doch bitte dein komplettes Skript, habe keine Lust zum puzzlen vor allem wenn Teile fehlen. Ich kann z.B. nirgends _GUIImageList_Create entdecken. Analysiere das Skript von Progandy und setze es auf dein Projekt um,

    mfg (Auto)Bert