; Простой пользовательский messagebox, с использованием режима OnEvent

#include <GUIConstantsEx.au3>

Opt("GUIOnEventMode", 1)

Global $ExitID

_Main()

Func _Main()
	Local $YesID, $NoID

	GUICreate("Самодельный Msgbox", 210, 80)

	GUICtrlCreateLabel("Нажмите на кнопку!", 10, 10)
	$YesID = GUICtrlCreateButton("Да", 10, 50, 50, 20)
	GUICtrlSetOnEvent($YesID, "OnYes")
	$NoID = GUICtrlCreateButton("Нет", 80, 50, 50, 20)
	GUICtrlSetOnEvent($NoID, "OnNo")
	$ExitID = GUICtrlCreateButton("Выход", 150, 50, 50, 20)
	GUICtrlSetOnEvent($ExitID, "OnExit")

	GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit")

	GUISetState() ; показывает созданное окно

	While 1
		Sleep(1000)
	WEnd
EndFunc   ;==>_Main

;--------------- Функции ---------------
Func OnYes()
	MsgBox(0, "Вы нажали кнопку", "Да")
EndFunc   ;==>OnYes

Func OnNo()
	MsgBox(0, "Вы нажали кнопку", "Нет")
EndFunc   ;==>OnNo

Func OnExit()
	If @GUI_CtrlId = $ExitID Then
		MsgBox(0, "Вы нажали кнопку", "Выход")
	Else
		MsgBox(0, "Вы нажали кнопку", "X - Закрыть")
	EndIf

	Exit
EndFunc   ;==>OnExit
