UDF > GUI > GuiImageList >


_GUIImageList_AddMasked

Ajoute une ou plusieurs images à une liste d'images, en générant un masque à partir du bitmap spécifié

#include <GuiImageList.au3>
_GUIImageList_AddMasked ( $hWnd, $hImage [, $iMask = 0] )

Paramètres

$hWnd Handle de la liste d'images
$hImage Handle du bitmap qui contient la ou les images. Le nombre d'images est déduit de la largeur du bitmap.
$iMask [optionnel] Couleur utilisée pour générer le masque. Chaque pixel de cette couleur dans le bitmap spécifié est changé en noir, et le bit correspondant dans le masque est mis à 1.

Valeur de retour

Succès: Retourne l'index de la première nouvelle image.
Échec: Retourne -1.

Remarque

Cette fonction copie le bitmap dans une structure de données interne.
Utilisez la fonction _WinAPI_DeleteObject() pour supprimer $hImage après le retour de la fonction.
Les bitmaps avec une profondeur de couleur supérieure à 8 bpp ne sont pas pris en charge.

En relation

_GUIImageList_Add, _WinAPI_DeleteObject

Exemple

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

Example()

Func Example()
    Local $idListview, $hImage

    GUICreate("ImageList AddMasked", 400, 300)
    $idListview = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
    GUISetState(@SW_SHOW)

    ; Charge des images
    $hImage = _GUIImageList_Create(11, 11)
    _GUIImageList_AddMasked($hImage, _GUICtrlListView_CreateSolidBitMap($idListview, 0xFF0000, 11, 11))
    _GUIImageList_AddMasked($hImage, _GUICtrlListView_CreateSolidBitMap($idListview, 0x00FF00, 11, 11))
    _GUIImageList_AddMasked($hImage, _GUICtrlListView_CreateSolidBitMap($idListview, 0x0000FF, 11, 11))
    _GUICtrlListView_SetImageList($idListview, $hImage, 1)

    ; Ajoute des colonnes
    _GUICtrlListView_AddColumn($idListview, "Items", 120)

    ; Ajoute des éléments
    _GUICtrlListView_AddItem($idListview, "Item 1", 0)
    _GUICtrlListView_AddItem($idListview, "Item 2", 1)
    _GUICtrlListView_AddItem($idListview, "Item 3", 2)

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