Funktionreferenz


_GUIImageList_Remove

Beschreibung anzeigen in

Entfernt ein oder mehrere Bilder von einer Imagelist

#include <GuiImageList.au3>
_GUIImageList_Remove ( $hWnd [, $iIndex = -1] )

Parameter

$hWnd Handle der Imagelist
$iIndex [optional] Der Index des zu entfernenden Bildes. Falls dieser Parameter -1 ist, werden alle Bilder entfernt

Rückgabewert

Erfolg: True
Fehler: False

Bemerkungen

Wenn ein Bild entfernt wird, wird der Index der verbleibenden Bilder so angepasst, dass diese von 0 bis 1 weniger als die Anzahl der Bilder in der Imagelist fortlaufend durchnummeriert sind.
Wenn zum Beispiel das Bild mit dem Index 0 entfernt wird, dann bekommt das Bild mit dem Index 1 den Index 0, das Bild mit dem Index 2 den Index 1 und so weiter.

- - - - - - - - Erklärung der Controls - - - - - - - -

Beispiel

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

Example()

Func Example()
    Local $idListview, $hImage
    Local $iStylesEx = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES)

    GUICreate("ImageList: Bilder entfernen", 400, 300)
    $idListview = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
    _GUICtrlListView_SetExtendedListViewStyle($idListview, $iStylesEx)
    GUISetState(@SW_SHOW)

    ; 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($idListview, $hImage, 1)

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

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

    MsgBox($MB_SYSTEMMODAL, "Information", "Es wird das Bild mit dem Index 0 entfernt")
    _GUIImageList_Remove($hImage, 0)

    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($idListview))

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

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