Функция _GUIImageList_GetImageInfoEx

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


_GUIImageList_GetImageInfoEx

Возвращает информацию об изображении

#include <GuiImageList.au3>
_GUIImageList_GetImageInfoEx($hWnd, $iIndex)

Параметры

$hWnd Дескриптор ImageList
$iIndex Индекс изображения

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

Успех:Возвращает структуру $tagIMAGEINFO, содержащую информацию об изображении
Ошибка:Возвращает 0

См. также

$tagIMAGEINFO

Пример

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

Global $iMemo

_Main()

Func _Main()
    Local $hImage, $hGUI, $hDC, $tInfo

    $hGUI = GUICreate("Получает информацию об изображении", 400, 300)
    $iMemo = GUICtrlCreateEdit("", 2, 32, 396, 266, 0)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Загружает изображения
    $hImage = _GUIImageList_Create(32, 24)
    _GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, 0xFF0000, 32, 24))
    _GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, 0x00FF00, 32, 24))
    _GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, 0x0000FF, 32, 24))

    ; Рисует изображение
    $hDC = _WinAPI_GetDC($hGUI)
    _GUIImageList_Draw($hImage, 0, $hDC, 4, 4)
    _GUIImageList_Draw($hImage, 1, $hDC, 40, 4)
    _GUIImageList_Draw($hImage, 2, $hDC, 76, 4)

    _WinAPI_ReleaseDC($hGUI, $hDC)

    ; Показывает информацию второго изображения
    $tInfo = _GUIImageList_GetImageInfoEx($hImage, 1)
    MemoWrite("Дескриптор изображения .: 0x" & Hex(DllStructGetData($tInfo, "hBitmap")))
    MemoWrite("Дескриптор маски ..: " & DllStructGetData($tInfo, "hMask"))
    MemoWrite("Image Left ...: " & DllStructGetData($tInfo, "Left"))
    MemoWrite("Image Top ....: " & DllStructGetData($tInfo, "Top"))
    MemoWrite("Image Right ..: " & DllStructGetData($tInfo, "Right"))
    MemoWrite("Image Bottom .: " & DllStructGetData($tInfo, "Bottom"))

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

; Записывает строку в элемент для заметок
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite