- Offizieller Beitrag
Hi,
ich hab mal ein Proggi gebastelt, in dem über eine GUI alle möglichen Parameter für die MsgBox ausgewählt werden können.
Schauts euch einfach an. Das erklärt mehr als tausend Worte
Edit:
Noch eine User-freundliche Erweiterung.
Die Parameter der gewählten Box werden in die Zwischenablage kopiert, inklusive aller möglichen Rückgabewerte, plus Erklärung der Rückgabewerte.
Sieht dann so aus:
If MsgBox(262694, '', '') = 2/10/11 Then ; Abbrechen/Wiederholen/Weiter
[/autoit]Spoiler anzeigen
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]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