Функция _GUIImageList_AddMasked

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


_GUIImageList_AddMasked

Добавляет изображение(я) в список изображений, создавая маску из указанных растровых изображений

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

Параметры

$hWnd Дескриптор ImageList
$hImage Дескриптор растрового изображения, содержащего изображение(я). Количество изображений определяется шириной растрового изображения.
$iMask [необязательный] Цвет, используемый для создания маски. Каждый пиксель этого цвета в указанном растровом изображении изменяется на черный, и соответствующая битность в маске устанавливается в 1.

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

Успех:Возвращает индекс первого нового изображения
Ошибка:Возвращает -1

Примечания

Эта функция копирует растровое изображение во внутреннюю структуру данных. Обязательно используйте функцию _WinAPI_DeleteObject для удаления hImage после возвращения из функции. Растровые изображения с глубиной цвета больше 8 бит на пиксель не поддерживаются.

См. также

_GUIImageList_Add

Пример

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

_Main()

Func _Main()
    Local $listview, $hImage

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

    ; Загружает изображения
    $hImage = _GUIImageList_Create(11, 11)
    _GUIImageList_AddMasked($hImage, _GUICtrlListView_CreateSolidBitMap($listview, 0xFF0000, 11, 11))
    _GUIImageList_AddMasked($hImage, _GUICtrlListView_CreateSolidBitMap($listview, 0x00FF00, 11, 11))
    _GUIImageList_AddMasked($hImage, _GUICtrlListView_CreateSolidBitMap($listview, 0x0000FF, 11, 11))
    _GUICtrlListView_SetImageList($listview, $hImage, 1)

    ; Добавляет колонки
    _GUICtrlListView_AddColumn($listview, "Пункты", 120)

    ; Добавляет пункты
    _GUICtrlListView_AddItem($listview, "Пункт 1", 0)
    _GUICtrlListView_AddItem($listview, "Пункт 2", 1)
    _GUICtrlListView_AddItem($listview, "Пункт 3", 2)

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main