UDF > GUI > GuiButton >


_GUICtrlButton_SetImageList

Affecte une liste d'images à un contrôle de bouton

#include <GuiButton.au3>
_GUICtrlButton_SetImageList ( $hWnd, $hImage [, $iAlign = 0 [, $iLeft = 1 [, $iTop = 1 [, $iRight = 1 [, $iBottom = 1]]]]] )

Paramètres

$hWnd ID/handle du contrôle
$hImage Le handle de la liste d'images.
Devrait contenir une seule image à utiliser pour tous les états ou des images individuelles pour chaque état figurant dans la liste suivante:
    1 - Normal
    2 - Hot
    3 - Pressed
    4 - Disabled
    5 - Defaulted
    6 - Stylus Hot (ordinateurs tablettes uniquement)
$iAlign [optionnel] Spécifie l'alignement à utiliser. Ce paramètre peut prendre l'une des valeurs suivantes:
    0 - Aligne l'image sur la marge gauche.
    1 - Aligne l'image sur la marge droite.
    2 - Aligne l'image sur la marge supérieure.
    3 - Aligne l'image sur la marge inférieure.
    4 - Centre l'image.
$iLeft [optionnel] Marge gauche de l'icône
$iTop [optionnel] Marge supérieure de l'icône
$iRight [optionnel] Marge droite de l'icône
$iBottom [optionnel] Marge inférieure de l'icône

Valeur de retour

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

Remarque

Une liste d'images avec plusieurs images ne montrera que les images autres que la première image lorsque Themes est utilisé.

En relation

_GUICtrlButton_GetImageList

Voir aussi

Consultez BCM_SETIMAGELIST dans la librairie MSDN.

Exemple

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

Example()

Func Example()
    Local $hImage, $y = 70, $iIcon = 125, $a_idBtn[6], $a_idRdo[6], $a_idChk[6], $hImageSmall

    GUICreate("Buttons", 510, 400)
    GUISetState(@SW_SHOW)

    $hImage = _GUIImageList_Create(32, 32, 5, 3, 6)
    For $x = 6 To 11
        _GUIImageList_AddIcon($hImage, "shell32.dll", $x, True)
    Next

    $hImageSmall = _GUIImageList_Create(16, 16, 5, 3, 6)
    For $x = 6 To 11
        _GUIImageList_AddIcon($hImageSmall, "shell32.dll", $x)
    Next

    $a_idBtn[0] = GUICtrlCreateButton("Button1", 10, 10, 90, 50)
    _GUICtrlButton_SetImageList($a_idBtn[0], $hImage)

    $a_idRdo[0] = GUICtrlCreateRadio("Radio Button1", 120, 10, 120, 25)
    _GUICtrlButton_SetImageList($a_idRdo[0], $hImageSmall)

    $a_idChk[0] = GUICtrlCreateCheckbox("Check Button1", 260, 10, 120, 25)
    _GUICtrlButton_SetImageList($a_idChk[0], $hImageSmall)

    For $x = 1 To 5
        $a_idBtn[$x] = GUICtrlCreateButton("Button" & $x + 1, 10, $y, 90, 50)
        _GUICtrlButton_SetImageList($a_idBtn[$x], _GetImageListHandle("shell32.dll", $iIcon + $x, True), $x)
        $a_idRdo[$x] = GUICtrlCreateRadio("Radio Button" & $x + 1, 120, $y, 120, 25)
        _GUICtrlButton_SetImageList($a_idRdo[$x], _GetImageListHandle("shell32.dll", $iIcon + $x), $x)
        $a_idChk[$x] = GUICtrlCreateCheckbox("Check Button" & $x + 1, 260, $y, 120, 25)
        _GUICtrlButton_SetImageList($a_idChk[$x], _GetImageListHandle("shell32.dll", $iIcon + $x), $x)
        $y += 60
    Next

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Utilise la liste d'image pour définir une image et avoir le texte sur le bouton
Func _GetImageListHandle($sFile, $nIconID = 0, $bLarge = False)
    Local $iSize = 16
    If $bLarge Then $iSize = 32

    Local $hImage = _GUIImageList_Create($iSize, $iSize, 5, 3)
    If StringUpper(StringMid($sFile, StringLen($sFile) - 2)) = "BMP" Then
        _GUIImageList_AddBitmap($hImage, $sFile)
    Else
        _GUIImageList_AddIcon($hImage, $sFile, $nIconID, $bLarge)
    EndIf
    Return $hImage
EndFunc   ;==>_GetImageListHandle