JPG in einer Imagelsit

  • Hi Leutz,
    um an meinem Projekt weiterarbeiten zu können, muss ich JPG Dateien (100x105px) in eine Imagelist einbinden können. Nur leider hat mir die Forensuche nicht so recht weitergeholfen, weil nur von Icons die rede ist.
    Hier habe ich meinen Testcode

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <GUIConstants.au3>
    #include <GUIListview.au3>
    #include <GuiImageList.au3>
    #include <WinAPI.au3>
    #include <Constants.au3>

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

    GUICreate("ListView Set View", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()
    _GUICtrlListView_AddColumn($hListView, "Items", 100)

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

    $hImage = _WinAPI_LoadImage (0,@ScriptDir & "\Grün.jpg",$IMAGE_BITMAP,100,105,$LR_LOADFROMFILE)

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

    ConsoleWrite($hImage & @CRLF)

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

    $hList = _GUIImageList_Create(100, 105)
    _GUIImageList_Add($hList, $hImage)
    ;~ _GUIImageList_Add($hList, @ScriptDir & "\Grün.jpg")
    ;~ _GUIImageList_Add($hList, @ScriptDir & "\Blau.jpg")
    ;~ _GUIImageList_Add($hList, @ScriptDir & "\Rot.jpg")

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

    _GUICtrlListView_SetImageList($hListView, $hList)

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

    _GUICtrlListView_AddItem($hListView, "Item 1")
    _GUICtrlListView_SetItemImage($hListView, 0,0)
    _GUICtrlListView_AddItem($hListView, "Item 2")
    _GUICtrlListView_AddItem($hListView, "Item 3")

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

    _GUICtrlListView_SetView($hListView, 1)

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

    While GUIGetMsg() <> $GUI_EVENT_CLOSE ;and Sleep(50)
    ;~ _GUICtrlListView_SetItemImage($hListView, Random(0,2,1), Random(0,2,1))
    ;~ _GUICtrlListView_SetItemImage($hListView, Random(0,2,1), Random(0,2,1))
    ;~ _GUICtrlListView_SetItemImage($hListView, Random(0,2,1), Random(0,2,1))
    WEnd

    [/autoit]

    Und meine 3 Testbilder Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Nun hoffe ich auf schnelle und vorallem hilfreiche Antworten.
    Schon mal Danke im Vorraus! ;)

    • Offizieller Beitrag

    Probier mal das aus: :thumbup:

    [autoit]

    #include <Array.au3>
    #include <GUIConstants.au3>
    #include <GUIListview.au3>
    #include <GuiImageList.au3>
    #include <WinAPI.au3>
    #include <Constants.au3>
    #include <GDIPlus.au3>

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

    GUICreate("ListView Set View", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()
    _GUICtrlListView_AddColumn($hListView, "Items", 100)
    _GDIPlus_Startup()

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

    $hList = _GUIImageList_Create(100, 105)
    _GUIImageList_Add($hList, _GDIPlus_BitmapCreateHBITMAPFromBitmap(_GDIPlus_BitmapCreateFromFile(@ScriptDir & "\Grün.jpg")))
    _GUIImageList_Add($hList, _GDIPlus_BitmapCreateHBITMAPFromBitmap(_GDIPlus_BitmapCreateFromFile(@ScriptDir & "\Blau.jpg")))
    _GUIImageList_Add($hList, _GDIPlus_BitmapCreateHBITMAPFromBitmap(_GDIPlus_BitmapCreateFromFile(@ScriptDir & "\Rot.jpg")))
    _GUICtrlListView_SetImageList($hListView, $hList)

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

    _GUICtrlListView_AddItem($hListView, "Item 1", 0)
    _GUICtrlListView_SetItemImage($hListView, 0, 0)
    _GUICtrlListView_AddItem($hListView, "Item 2", 1)
    _GUICtrlListView_AddItem($hListView, "Item 3", 2)

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

    _GUICtrlListView_SetView($hListView, 1)

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

    While GUIGetMsg() <> $GUI_EVENT_CLOSE ;and Sleep(50)
    ;~ _GUICtrlListView_SetItemImage($hListView, Random(0,2,1), Random(0,2,1))
    ;~ _GUICtrlListView_SetItemImage($hListView, Random(0,2,1), Random(0,2,1))
    ;~ _GUICtrlListView_SetItemImage($hListView, Random(0,2,1), Random(0,2,1))
    WEnd
    _GDIPlus_Shutdown()

    [/autoit]