ListView Einträge mit Icons

  • Ist es möglich ListView einträge mit einem Icon zu versehen

    Also das vorne das gewählte Icon steht und die Spalten dann dahinter

    Und wie funktioniert das dann mit 2 verschiedenen Icons


    Freure mich auf Antowrten

    Einmal editiert, zuletzt von Aldi (30. März 2010 um 08:15)

  • Hier mal das Beispiel zu

    [autoit]

    _GUICtrlListView_SetImageList

    [/autoit]
    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>

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

    Opt('MustDeclareVars', 1)

    [/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

    GUICreate("ListView Set Image List", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

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

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

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

    ; Add columns
    _GUICtrlListView_AddColumn($hListView, "Column 1", 100)
    _GUICtrlListView_AddColumn($hListView, "Column 2", 100)
    _GUICtrlListView_AddColumn($hListView, "Column 3", 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]

    ; Get image list handle
    MsgBox(4160, "Information", "Image List Handle: 0x" & Hex(_GUICtrlListView_GetImageList($hListView, 1)))

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

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

    [/autoit]
  • Bekomme sie in solchen Farben zwar hin , jedoch wollte ich Icons benutzen welche im ScriptVerzeichniss beiliegen

    Wie geht das ?

  • Hallo Aldi,

    hier das Beispiel aus der Hilfe zu _GUIImageList_AddIcon :

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>
    #include <WindowsConstants.au3>

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

    Opt('MustDeclareVars', 1)

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

    _Main()

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

    Func _Main()
    Local $listview, $hImage
    Local $exStyles = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES)

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

    GUICreate("ImageList: Icon hinzufügen", 400, 300)
    $listview = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
    _GUICtrlListView_SetExtendedListViewStyle($listview, $exStyles)
    GUISetState()

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

    ; Lädt die Bilder
    $hImage = _GUIImageList_Create(16, 16, 5, 3)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 110)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 131)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 165)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 168)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 137)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 146)
    _GUICtrlListView_SetImageList($listview, $hImage, 1)

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

    ; Fügt die Spalten hinzu
    _GUICtrlListView_AddColumn($listview, "Spalte 1", 120)
    _GUICtrlListView_AddColumn($listview, "Spalte 2", 120)
    _GUICtrlListView_AddColumn($listview, "Spalte 3", 120)

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

    ; Fügt die Items hinzu
    _GUICtrlListView_AddItem($listview, "Zeile 1: Spalte 1", 0)
    _GUICtrlListView_AddSubItem($listview, 0, "Zeile 1: Spalte 2", 1, 1)
    _GUICtrlListView_AddSubItem($listview, 0, "Zeile 1: Spalte 3", 2, 2)
    _GUICtrlListView_AddItem($listview, "Zeile 2: Spalte 1", 1)
    _GUICtrlListView_AddSubItem($listview, 1, "Zeile 2: Spalte 2", 1, 2)
    _GUICtrlListView_AddItem($listview, "Zeile 3: Spalte 1", 2)
    _GUICtrlListView_AddItem($listview, "Zeile 4: Spalte 1", 3)
    _GUICtrlListView_AddItem($listview, "Zeile 5: Spalte 1", 4)
    _GUICtrlListView_AddSubItem($listview, 4, "Zeile 5: Spalte 2", 1, 3)
    _GUICtrlListView_AddItem($listview, "Zeile 6: Spalte 1", 5)
    _GUICtrlListView_AddSubItem($listview, 5, "Zeile 6: Spalte 2", 1, 4)
    _GUICtrlListView_AddSubItem($listview, 5, "Zeile 6: Spalte 3", 2, 3)

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    mfg (Auto)Bert