#include <GUIConstants.au3>

Opt("GUIOnEventMode", 1)
Dim $ret, $sum, $i, $aRadio[21][2]
$aRadio[0][1] = 0
$aRadio[1][1] = 1
$aRadio[2][1] = 2
$aRadio[3][1] = 3
$aRadio[4][1] = 4
$aRadio[5][1] = 5
$aRadio[6][1] = 6
$aRadio[7][1] = 0
$aRadio[8][1] = 16
$aRadio[9][1] = 32
$aRadio[10][1] = 48
$aRadio[11][1] = 64
$aRadio[12][1] = 0
$aRadio[13][1] = 256
$aRadio[14][1] = 512
$aRadio[15][1] = 0
$aRadio[16][1] = 4096
$aRadio[17][1] = 8192
$aRadio[18][1] = 0
$aRadio[19][1] = 262144
$aRadio[20][1] = 524288

$Form1 = GUICreate("MsgBox - alle Parameter", 465, 398, -1, -1)
GUISetOnEvent($GUI_EVENT_CLOSE, "AForm1Close")
$grButton = GUICtrlCreateGroup("Button", 20, 8, 214, 193)
$aRadio[0][0] = GUICtrlCreateRadio("0  OK", 28, 28, 179, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetOnEvent(-1, "ARadio1Click")
$aRadio[1][0] = GUICtrlCreateRadio("1  OK und Abbrechen", 28, 52, 185, 17)
GUICtrlSetOnEvent(-1, "ARadio2Click")
$aRadio[2][0] = GUICtrlCreateRadio("2  Abbrechen, Wiederholen, Ignorieren", 28, 76, 201, 17)
GUICtrlSetOnEvent(-1, "ARadio3Click")
$aRadio[3][0] = GUICtrlCreateRadio("3  Ja, Nein und Abbrechen", 28, 100, 183, 17)
GUICtrlSetOnEvent(-1, "ARadio4Click")
$aRadio[4][0] = GUICtrlCreateRadio("4  Ja und Nein", 28, 124, 177, 17)
GUICtrlSetOnEvent(-1, "ARadio5Click")
$aRadio[5][0] = GUICtrlCreateRadio("5  Wiederholen und Abbrechen", 28, 148, 182, 17)
GUICtrlSetOnEvent(-1, "ARadio6Click")
$aRadio[6][0] = GUICtrlCreateRadio("6  Abbrechen, Wiederholen, Weiter", 28, 172, 192, 17)
GUICtrlSetOnEvent(-1, "ARadio7Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$grIcon = GUICtrlCreateGroup("Icon", 20, 208, 214, 142)
$aRadio[7][0] = GUICtrlCreateRadio("0    kein Icon", 28, 228, 113, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetOnEvent(-1, "ARadio8Click")
$aRadio[8][0] = GUICtrlCreateRadio("16  Stopzeichen", 28, 252, 113, 17)
GUICtrlSetOnEvent(-1, "ARadio9Click")
$aRadio[9][0] = GUICtrlCreateRadio("32  Fragezeichen", 28, 276, 113, 17)
GUICtrlSetOnEvent(-1, "ARadio10Click")
$aRadio[10][0] = GUICtrlCreateRadio("48  Ausrufezeichen", 28, 300, 113, 17)
GUICtrlSetOnEvent(-1, "ARadio11Click")
$aRadio[11][0] = GUICtrlCreateRadio("64  i im Kreis (Infozeichen)", 28, 324, 154, 17)
GUICtrlSetOnEvent(-1, "ARadio12Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$grDefault = GUICtrlCreateGroup("Default", 242, 8, 200, 94)
$aRadio[12][0] = GUICtrlCreateRadio("0       Erster Button", 250, 29, 132, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetOnEvent(-1, "ARadio13Click")
$aRadio[13][0] = GUICtrlCreateRadio("256   Zweiter Button", 250, 53, 145, 17)
GUICtrlSetOnEvent(-1, "ARadio14Click")
GUICtrlSetState(-1, $GUI_DISABLE)
$aRadio[14][0] = GUICtrlCreateRadio("512   Dritter Button", 250, 77, 114, 17)
GUICtrlSetOnEvent(-1, "ARadio15Click")
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$grModal = GUICtrlCreateGroup("Modal", 242, 107, 200, 94)
$aRadio[15][0] = GUICtrlCreateRadio("0         Anwendung", 250, 128, 162, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetOnEvent(-1, "ARadio16Click")
$aRadio[16][0] = GUICtrlCreateRadio("4096  System", 250, 152, 113, 17)
GUICtrlSetOnEvent(-1, "ARadio17Click")
$aRadio[17][0] = GUICtrlCreateRadio("8192  Task", 250, 176, 113, 17)
GUICtrlSetOnEvent(-1, "ARadio18Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$grMisc = GUICtrlCreateGroup("Verschiedenes", 242, 208, 200, 94)
$aRadio[18][0] = GUICtrlCreateRadio("0            nichts", 250, 227, 113, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetOnEvent(-1, "ARadio19Click")
$aRadio[19][0] = GUICtrlCreateRadio("262144  Attribut top-most", 250, 251, 154, 17)
GUICtrlSetOnEvent(-1, "ARadio20Click")
$aRadio[20][0] = GUICtrlCreateRadio("524288  Titel u. Text rechtsbündig", 250, 275, 185, 17)
GUICtrlSetOnEvent(-1, "ARadio21Click")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$bShow = GUICtrlCreateButton("Zeige MsgBox", 20, 361, 214, 24, 0)
GUICtrlSetOnEvent(-1, "bShowClick")
$MsgBox = GUICtrlCreateInput("MsgBox(0, 'title', 'text')", 242, 328, 200, 21,$ES_CENTER)
GUICtrlSetBkColor(-1, 32250)
$bClip = GUICtrlCreateButton("Kopiere in Zwischenablage", 242, 361, 200, 24, 0)
GUICtrlSetOnEvent(-1, "bClipClick")
GUISetState(@SW_SHOW)


While 1
	Sleep(100)
WEnd
		
Func AForm1Close()
	Exit
EndFunc

Func ARadio1Click()
	_Disable_2_3()
	_IsChecked()
	_TextBox()	
EndFunc

Func ARadio2Click()
	_CodeSome()	
EndFunc
		
Func ARadio3Click()
	_Enable_2_3()
	_IsChecked()
	_TextBox()
EndFunc
		
Func ARadio4Click()
	_CodeMost()
EndFunc
		
Func ARadio5Click()
	_CodeSome()	
EndFunc
		
Func ARadio6Click()
	_CodeSome()	
EndFunc
		
Func ARadio7Click()
	_CodeMost()
EndFunc
		
Func ARadio8Click()
	_CodeMost()
EndFunc
		
Func ARadio9Click()
	_CodeMost()
EndFunc

Func ARadio10Click()
	_CodeMost()
EndFunc
		
Func ARadio11Click()
	_CodeMost()
EndFunc
		
Func ARadio12Click()
	_CodeMost()
EndFunc
		
Func ARadio13Click()
	_CodeMost()
EndFunc
		
Func ARadio14Click()
	_CodeMost()
EndFunc
		
Func ARadio15Click()
	_CodeMost()
EndFunc
		
Func ARadio16Click()
	_CodeMost()
EndFunc
		
Func ARadio17Click()
	_CodeMost()
EndFunc
		
Func ARadio18Click()
	_CodeMost()
EndFunc
		
Func ARadio19Click()
	_CodeMost()
EndFunc

Func ARadio20Click()
	_CodeMost()
EndFunc
		
Func ARadio21Click()
	_CodeMost()
EndFunc

Func _CodeSome()
	_Enable_2_3()
	_Disable_3()	
	_IsChecked()
	_TextBox()
EndFunc

Func _CodeMost()
	_IsChecked()
	_TextBox()
	_Enable_2_3()
EndFunc

Func _Disable_2_3()
	GUICtrlSetState($aRadio[13][0], BitOR($GUI_DISABLE, $GUI_UNCHECKED))
	GUICtrlSetState($aRadio[14][0], BitOR($GUI_DISABLE, $GUI_UNCHECKED))
	GUICtrlSetState($aRadio[12][0], $GUI_CHECKED)
EndFunc

Func _Disable_3()
	GUICtrlSetState($aRadio[14][0], BitOR($GUI_DISABLE, $GUI_UNCHECKED))
	GUICtrlSetState($aRadio[12][0], $GUI_CHECKED)
EndFunc

Func _Enable_2_3()
	GUICtrlSetState($aRadio[13][0], $GUI_ENABLE)
	GUICtrlSetState($aRadio[14][0], $GUI_ENABLE)
EndFunc

Func _Enable_3()
	GUICtrlSetState($aRadio[14][0], $GUI_ENABLE)
EndFunc

Func bShowClick()
	$ret = MsgBox($sum, "Titel", "Test MsgBox")
	$text1 = "gedrückter Button: "
	$text2 = "Rückgabewert: " & $ret
	Switch $ret
		Case 1
			MsgBox(0, $text1 & "OK", $text2)
		Case 2
			MsgBox(0, $text1 & "ABBRECHEN", $text2)
		Case 3
			MsgBox(0, $text1 & "ABBRECHEN", $text2)
		Case 4
			MsgBox(0, $text1 & "WIEDERHOLEN", $text2)
		Case 5
			MsgBox(0, $text1 & "IGNORIEREN", $text2)
		Case 6
			MsgBox(0, $text1 & "JA", $text2)
		Case 7
			MsgBox(0, $text1 & "NEIN", $text2)
		Case 10
			MsgBox(0, $text1 & "WIEDERHOLEN", $text2)
		Case 11
			MsgBox(0, $text1 & "WEITER", $text2)
	EndSwitch
EndFunc

Func bClipClick()
	For $i = 0 To 6
		If GUICtrlRead($aRadio[$i][0]) = 1 Then ExitLoop
	Next
	Switch $i
		Case 0
			ClipPut("MsgBox(" & $sum & ", '', '')")
		Case 1
			ClipPut("If MsgBox(" & $sum & ", '', '') = 1/2 Then ; OK/Abbrechen")
		Case 2
			ClipPut("If MsgBox(" & $sum & ", '', '') = 3/4/5 Then ; Abbrechen/Wiederholen/Ignorieren")
		Case 3
			ClipPut("If MsgBox(" & $sum & ", '', '') = 6/7/2 Then ; Ja/Nein/Abbrechen")
		Case 4
			ClipPut("If MsgBox(" & $sum & ", '', '') = 6/7 Then ; Ja/Nein")
		Case 5
			ClipPut("If MsgBox(" & $sum & ", '', '') = 4/2 Then ; Wiederholen/Abbrechen")
		Case 6
			ClipPut("If MsgBox(" & $sum & ", '', '') = 2/10/11 Then ; Abbrechen/Wiederholen/Weiter")
	EndSwitch
	_ToolTipMouseExit(ClipGet() & @LF & "wurde in die Zwischenablage kopiert.", 4000, -1, -1, "Zwischenablage", 1, 3)
EndFunc

Func _IsChecked()
	$sum = 0
	For $i = 0 To 20
		If GUICtrlRead($aRadio[$i][0]) = 1 Then $sum += $aRadio[$i][1]
	Next
EndFunc

Func _TextBox()
	GUICtrlSetData($MsgBox, "MsgBox(" & $sum & ", 'title', 'text')")
EndFunc

Func _ToolTipMouseExit($TEXT, $TIME=-1, $x=-1, $y=-1, $TITLE='', $ICON=0, $OPT='')
	If $TIME = -1 Then $TIME = 3000
	Local $start = TimerInit(), $pos0 = MouseGetPos()
	If ($x = -1) Or ($y = -1) Then
		ToolTip($TEXT, $pos0[0], $pos0[1], $TITLE, $ICON, $OPT)
	Else
		ToolTip($TEXT, $x, $y, $TITLE, $ICON, $OPT)
	EndIf
	Do
		Sleep(50)
		$pos = MouseGetPos()
	Until (TimerDiff($start) > $TIME) Or _
		(Abs($pos[0] - $pos0[0]) > 10 Or _
		 Abs($pos[1] - $pos0[1]) > 10)
	ToolTip('')
EndFunc ;_ToolTipMouseExit