_GUICtrlListView_CreateSolidBitMap & _GUIImageList_Add farbe ändern

  • Hallo,
    ich möchte so kleine farbige Kästen vor einem ListViewItem machen. Dies habe ich auch in der Hilfe bereits gefunden.
    Nun möchte ich eine möglichkeit finden, dies aber zu ändern.
    Aslo, wenn wir hier z.B. das Beispiel aus der Hilfe nehmen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>

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

    $Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

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

    _Main()

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

    Func _Main()
    Local $hImage, $hListView

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

    GUICreate("ListView Create Solid BitMap", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

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

    ; Load images
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

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

    ; Add columns
    _GUICtrlListView_AddColumn($hListView, "Items", 100)

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

    ; Add items
    _GUICtrlListView_AddItem($hListView, "Item 1", 0)
    _GUICtrlListView_AddItem($hListView, "Item 2", 1)
    _GUICtrlListView_AddItem($hListView, "Item 3", 2)

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    Wie kann ich jetzt z.B. mit dem drücken von der Taste a die Farbe rot vom ersten Eintrag zu gelb ändern?
    Es gibt nämlich keine _GUIImageList_Change Funktion oder ähnliches. Und wie kann ich nur bestimmten Items eine bestimmte Farbe verpassen bzw. ändern?

    Desweiteren, würde ich gerne wissen wie ich die Farbe auslesen kann, welche vergeben wurde.
    mfg Freaky

    2 Mal editiert, zuletzt von Freaky (27. Februar 2012 um 05:43)

  • Moin, also zur ersten Frage solltest du mit "_GUIImageList_ReplaceIcon " weiterkommen .. andernfalls Icon Löschen und neuerstellen

    und zu 2. eventuell mit "_GUIImageList_GetIcon " ? und dann über GDI+ die Farbe abfragen?

    Gruß Marvin

  • Das waere eine Idee aber ich habe na eig. kein Icon sondern eine einfache Farbe.
    Und zu der letzten Frage habe ich bereits eine Antwort gefunden. Mir würde jetzt mehr um das Problem gehen, wie ich nur bestimmten Items eine Farbe geben kann und nur bei bestimmten Items die Farbe ändern kann.