#include <GUIConstantsEx.au3>

Example1()
Example2()

; Пример 1
Func Example1()
	Local $icon1, $icon2, $icon3, $msg

	GUICreate("Иконки в GUI", 250, 250)

	$icon1 = GUICtrlCreateIcon("shell32.dll", 10, 20, 20)
	$icon2 = GUICtrlCreateIcon(@WindowsDir & "\cursors\horse.ani", -1, 20, 40, 32, 32)
	$icon3 = GUICtrlCreateIcon("shell32.dll", 7, 20, 75, 32, 32)
	GUISetState()

	; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
	While 1
		$msg = GUIGetMsg()
		Switch $msg
			Case $GUI_EVENT_CLOSE
				ExitLoop
			Case $icon1, $icon2, $icon3
				Exit
		EndSwitch
	WEnd
	GUIDelete()
EndFunc   ;==>Example1

; Пример 2
Func Example2()
	Local $iOldOpt, $icon1, $icon2, $hGUI, $a = 0, $b = 0
	$iOldOpt = Opt("GUICoordMode", 1)

	$hGUI = GUICreate("Состязание иконок GUI", 350, 74, -1, -1)
	GUICtrlCreateLabel("", 331, 0, 1, 74, 5)
	$icon1 = GUICtrlCreateIcon(@WindowsDir & "\cursors\dinosaur.ani", -1, 0, 0, 32, 32)
	$icon2 = GUICtrlCreateIcon(@WindowsDir & "\cursors\horse.ani", -1, 0, 40, 32, 32)

	GUISetState()

	While ($a < 300) And ($b < 300)
		$a += Random(0, 1, 1)
		$b += Random(0, 1, 1)
		GUICtrlSetPos($icon1, $a, 0)
		GUICtrlSetPos($icon2, $b, 40)
		Sleep(10)
	WEnd
	Opt("GUICoordMode", $iOldOpt)
	If $a > $b Then
		MsgBox(0, 'Результаты забега', 'Победил динозавр', 0, $hGUI)
	Else
		MsgBox(0, 'Результаты забега', 'Победила лошадка', 0, $hGUI)
	EndIf
EndFunc   ;==>Example2