Функция _GUICtrlButton_SetImageList

         Описание функции


_GUICtrlButton_SetImageList

Назначает кнопке список изображений

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

Параметры

$hWnd Дескриптор или идентификатор элемента
$hImage Дескриптор списка изображений. Список изображений должен содержать либо одно изображение, которое будет использоваться для всех состояний кнопки, либо индивидуальные изображения для каждого состояния в следующем порядке:
    1 - Обычное
    2 - При наведении мыши
    3 - Нажатая
    4 - Деактивированная (серая)
    5 - Кнопка по умолчанию
    6 - Stylus Hot (только для планшетных компьютеров)
$nAlign [необязательный] Выравнивание. Этот параметр может быть одним из следующих значений:
    0 - Выравнивание изображения по левому краю.
    1 - Выравнивание изображения по правому краю.
    2 - Выравнивание изображения по верхнему краю.
    3 - Выравнивание изображения по нижнему краю.
    4 - Изображение по центру.
$iLeft [необязательный] Левый отступ иконки
$iTop [необязательный] Верхний отступ иконки
$iRight [необязательный] Правый отступ иконки
$iBottom [необязательный] Нижний отступ иконки

Возвращаемое значение

Успех:Возвращает True
Ошибка:Возвращает False

Примечания

Минимальная ОС - Windows XP.

Image list with multiple images will only show the images other than the 1st image when Themes is being used.

См. также

_GUICtrlButton_GetImageList

См. также

Искать BCM_SETIMAGELIST в библиотеке MSDN

Пример

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

_Main()

Func _Main()
    Local $hImage, $y = 80, $iIcon = 125, $btn[6], $rdo[6], $chk[6], $hImageSmall

    GUICreate("Назначает кнопке список изображений", 510, 400)

    $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

    $btn[0] = GUICtrlCreateButton("Кнопка1", 10, 10, 110, 55)
    _GUICtrlButton_SetImageList($btn[0], $hImage)

    $rdo[0] = GUICtrlCreateRadio("Радио Кнопка1", 160, 20, 120, 40)
    _GUICtrlButton_SetImageList($rdo[0], $hImageSmall)

    $chk[0] = GUICtrlCreateCheckbox("Check Кнопка1", 320, 20, 120, 40)
    _GUICtrlButton_SetImageList($chk[0], $hImageSmall)

    For $x = 1 To 5
        $btn[$x] = GUICtrlCreateButton("Кнопка" & $x + 1, 10, $y - 10, 110, 55)
        _GUICtrlButton_SetImageList($btn[$x], _GetImageListHandle("shell32.dll", $iIcon + $x, True), $x)
        $rdo[$x] = GUICtrlCreateRadio("Радио Кнопка" & $x + 1, 160, $y, 120, 40)
        _GUICtrlButton_SetImageList($rdo[$x], _GetImageListHandle("shell32.dll", $iIcon + $x), $x)
        $chk[$x] = GUICtrlCreateCheckbox("Check Кнопка" & $x + 1, 320, $y, 120, 40)
        _GUICtrlButton_SetImageList($chk[$x], _GetImageListHandle("shell32.dll", $iIcon + $x), $x)
        $y += 60
    Next
    GUISetState()

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd

    Exit
EndFunc   ;==>_Main

; Использование списка изображений, чтобы установить 1 изображение и текст на кнопке
Func _GetImageListHandle($sFile, $nIconID = 0, $fLarge = False)
    Local $iSize = 16
    If $fLarge 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, $fLarge)
    EndIf
    Return $hImage
EndFunc   ;==>_GetImageListHandle