UDF > GUI > GuiButton >


_GUICtrlButton_GetImageList

Obtient un tableau qui décrit la liste d'image attribuée à un contrôle bouton

#include <GuiButton.au3>
_GUICtrlButton_GetImageList ( $hWnd )

Paramètre

$hWnd ID/handle du contrôle

Valeur de retour

Retourne un tableau contenant les éléments suivants :
    [0] - Handle de la liste d'image
    [1] - Marge gauche de l'icône
    [2] - Marge supérieure de l'icône
    [3] - Marge droite de l'icône
    [4] - Marge inférieure de l'icône
    [5] - Indique l'alignement. Ce sera l'une des valeurs suivantes :
        0 - Image alignée sur la marge gauche.
        1 - Image alignée sur la marge de droite.
        2 - Image alignée sur la marge supérieure.
        3 - Image alignée sur la marge inférieure.
        4 - Image centrée.

En relation

_GUICtrlButton_SetImageList

Voir aussi

Consultez BCM_GETIMAGELIST dans la librairie MSDN.

Exemple

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

Global $g_idMemo

Example()

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

    GUICreate("Buttons", 510, 400)
    $g_idMemo = GUICtrlCreateEdit("", 119, 10, 376, 374, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

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

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

    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)
        $y += 60
    Next

    For $x = 0 To 5
        $aImageListInfo = _GUICtrlButton_GetImageList($a_idBtn[$x])
        MemoWrite("Button" & $x + 1 & " Imagelist Info" & @CRLF & "--------------------------------")
        MemoWrite("Handle de la liste d'image...: " & $aImageListInfo[0])
        MemoWrite("Marge gauche de l'icône......: " & $aImageListInfo[1])
        MemoWrite("Marge supérieure de l'icône..: " & $aImageListInfo[2])
        MemoWrite("Marge droite de l'icône......: " & $aImageListInfo[3])
        MemoWrite("Marge inférieure de l'icône..: " & $aImageListInfo[4])
        MemoWrite("Alignement: " & _ExplainAlignment($aImageListInfo[5]))
        MemoWrite("--------------------------------" & @CRLF)
    Next

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

; Écrit une ligne dans le contrôle mémo
Func MemoWrite($sMessage)
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite

; Utilisation de la liste d'image pour définir une image et un 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

Func _ExplainAlignment($iAlign)
    Switch $iAlign
        Case 0
            Return "Image alignée sur la marge gauche."
        Case 1
            Return "Image alignée sur la marge droite."
        Case 2
            Return "Image alignée sur la marge supérieure."
        Case 3
            Return "Image alignée sur la marge inférieure."
        Case 4
            Return "Image centrée."
    EndSwitch
EndFunc   ;==>_ExplainAlignment