#include <GUIConstantsEx.au3>
#include <Array.au3>
Opt('MustDeclareVars', 1)
Global $hGui, $aCheckbox[1], $sIni = @ScriptDir & '\monsters.ini', $nBtn, $aChecked, $iMsg
;~ Global $aCheckbox[6][3] = [[5, ],['Злой Волк', '1.png'],['Шустрый Заяц', '2.png'],['Хитрый Лис', '3.png'], ['Мудрый Змей', '4.png'],['Сильный Слон', '5.png']]
$aChecked = IniReadSection($sIni, 'Monsters_images')
If @error Then Exit 13
ReDim $aCheckbox[$aChecked[0][0] + 1][3]
For $i = 0 To $aChecked[0][0]
For $j = 0 To 1
$aCheckbox[$i][$j] = $aChecked[$i][$j]
Next
Next
$aCheckbox[0][1] = IniRead($sIni, 'Monsters_Dir', 'Dir', @ScriptDir & '\monsters\')
ReDim $aChecked[1]
$hGui = GUICreate('My monsters', 260, $aCheckbox[0][0] * 25 + 90)
GUICtrlCreateGroup('Выбор монстров', 10, 10, 240, $aCheckbox[0][0] * 25 + 30)
For $i = 1 To $aCheckbox[0][0]
$aCheckbox[$i][2] = GUICtrlCreateButton('...', 200, 30 + ($i - 1) * 25, 30, 20)
GUICtrlSetFont($aCheckbox[$i][2], 12, 700)
GUICtrlSetTip($aCheckbox[$i][2], 'Посмотреть монстра ' & $aCheckbox[$i][0])
GUICtrlSetCursor($aCheckbox[$i][2], 0)
Next
For $i = 1 To $aCheckbox[0][0]
$aCheckbox[$i][0] = GUICtrlCreateCheckbox($aCheckbox[$i][0], 30, 30 + ($i - 1) * 25, 170, 20)
GUICtrlSetFont($aCheckbox[$i][0], 9, 700)
GUICtrlSetCursor($aCheckbox[$i][0], 0)
Next
;~ GUICtrlSetState($aCheckbox[1][0], $GUI_CHECKED)
GUICtrlCreateGroup('', -99, -99, 1, 1)
$nBtn = GUICtrlCreateButton('Да', 80, $aCheckbox[0][0] * 25 + 50, 100, 30)
GUISetState()
While 1
$iMsg = GUIGetMsg()
Switch $iMsg
Case $GUI_EVENT_CLOSE
Exit
Case $aCheckbox[1][2] To $aCheckbox[$aCheckbox[0][0]][2]
;~ здесь можно организовать просмотр монстров в отдельном окне
For $i = 1 To $aCheckbox[0][0]
If $aCheckbox[$i][2] = $iMsg Then
$aCheckbox[0][2] = $aCheckbox[$i][1]
ExitLoop
EndIf
Next
MsgBox(64, 'Инфо', 'Просмотр картинки ' & $aCheckbox[0][1] & $aCheckbox[0][2], 0, $hGui)
$aCheckbox[0][2] = ''
Case $nBtn
ReDim $aChecked[$aCheckbox[0][0] + 1]
For $i = 1 To $aCheckbox[0][0]
If BitAND(GUICtrlRead($aCheckbox[$i][0]), $GUI_CHECKED) Then
$aChecked[0] += 1
;~ $aChecked[$aChecked[0]] = $aCheckbox[0][1] & $aCheckbox[$i][1]
$aChecked[$aChecked[0]] = $aCheckbox[$i][1]
EndIf
Next
If $aChecked[0] Then
ReDim $aChecked[$aChecked[0] + 1]
_ArrayDisplay($aChecked)
Else
MsgBox(16, 'Error', 'Не выбрано ни одной картинки', 0, $hGui)
EndIf
ReDim $aChecked[1]
$aChecked[0] = 0
EndSwitch
WEnd