UDF > GUI > GuiImageList >


_GUIImageList_SetImageCount

Redimensionne une liste d'images existante

#include <GuiImageList.au3>
_GUIImageList_SetImageCount ( $hWnd, $iNewCount )

Paramètres

$hWnd Handle de la liste d'images
$iNewCount La nouvelle taille de la liste d'images

Valeur de retour

Succès: Retourne True.
Échec: Retourne False.

Remarques

Si une application agrandit une liste d'images avec cette fonction, elle doit ajouter de nouvelles images en utilisant la fonction GUIImageList_Replace().
Si votre application n'ajoute pas des images valides aux nouveaux index, les opérations de dessin qui utilisent les nouveaux indexs seront imprévisibles.

Si vous réduisez la taille d'une liste d'images en utilisant cette fonction, les images supprimées sont libérés.

En relation

_GUIImageList_GetImageCount

Exemple

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

Example()

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

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

    ; Charge des images
    $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)

    ; Ajoute des colonnes
    _GUICtrlListView_AddColumn($idListview, "Column 1", 120)
    _GUICtrlListView_AddColumn($idListview, "Column 2", 100)
    _GUICtrlListView_AddColumn($idListview, "Column 3", 100)

    ; Ajoute des éléments
    _GUICtrlListView_AddItem($idListview, "Row 1: Col 1", 0)
    _GUICtrlListView_AddSubItem($idListview, 0, "Row 1: Col 2", 1, 1)
    _GUICtrlListView_AddSubItem($idListview, 0, "Row 1: Col 3", 2, 2)
    _GUICtrlListView_AddItem($idListview, "Row 2: Col 1", 1)
    _GUICtrlListView_AddSubItem($idListview, 1, "Row 2: Col 2", 1, 2)
    _GUICtrlListView_AddItem($idListview, "Row 3: Col 1", 2)
    _GUICtrlListView_AddItem($idListview, "Row 4: Col 1", 3)
    _GUICtrlListView_AddItem($idListview, "Row 5: Col 1", 4)
    _GUICtrlListView_AddSubItem($idListview, 4, "Row 5: Col 2", 1, 3)
    _GUICtrlListView_AddItem($idListview, "Row 6: Col 1", 5)
    _GUICtrlListView_AddSubItem($idListview, 5, "Row 6: Col 2", 1, 4)
    _GUICtrlListView_AddSubItem($idListview, 5, "Row 6: Col 3", 2, 3)

    GUISetState(@SW_LOCK)
    MsgBox($MB_SYSTEMMODAL, "Information", "Setting Image Count")
    _GUIImageList_SetImageCount($hImage, 3)
    GUISetState(@SW_UNLOCK)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>Example