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]]]]] )
$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 |
Succès: | Retourne True. |
Échec: | Retourne False. |
Une liste d'images avec plusieurs images ne montrera que les images autres que la première image lorsque Themes est utilisé.
Consultez BCM_SETIMAGELIST dans la librairie MSDN.
#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