#cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.12.0 Author: Bacilic Script Function: Template AutoIt script. #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include #include #include #Region ### START Koda GUI section ### Form=c:\users\bacilic\desktop\guess the number\clickonlabel.kxf $ClickOnLabel = GUICreate("Change value by click on label", 475, 174, 193, 130) $LabelFirstNumber = GUICtrlCreateLabel("First Number:", 32, 32, 99, 24) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $LabelSecondNumber = GUICtrlCreateLabel("Second Number:", 8, 64, 123, 24) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $LabelProcess = GUICtrlCreateLabel("Process:", 56, 96, 65, 24) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $LabelCalculate = GUICtrlCreateLabel("Calculate", 328, 128, 90, 28) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") GUICtrlSetTip(-1, "Click to become the operation") GUICtrlSetCursor(-1, 0) $LabelResult = GUICtrlCreateLabel("Result", 320, 40, 110, 65) GUICtrlSetFont(-1, 26, 400, 0, "Segoe Print") GUICtrlSetTip(-1, "Çere will display the result") ; First Number choose label $LabelChooseFirstNumber = GUICtrlCreateLabel("Choose number...", 136, 32, 145, 24) GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x0000FF) GUICtrlSetTip(-1, "Choose the first number") GUICtrlSetCursor(-1, 0) ;Popup Menu for First Number $LabelChooseFirstNumberContext = GUICtrlCreateContextMenu($LabelChooseFirstNumber) $MenuItemFirst3 = GUICtrlCreateMenuItem("Just: 3", $LabelChooseFirstNumberContext) $MenuItemFirstRandom = GUICtrlCreateMenuItem("Random from 1 to 100", $LabelChooseFirstNumberContext) $MenuItemFirstSelect = GUICtrlCreateMenuItem("Select...", $LabelChooseFirstNumberContext) ; Second Number choose label $LabelChooseSecondNumber = GUICtrlCreateLabel("Choose number...", 136, 64, 145, 24) GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x0000FF) GUICtrlSetTip(-1, "Choose the secont number") GUICtrlSetCursor(-1, 0) ; Menu Second number $LabelChooseSecondNumbercontext = GUICtrlCreateContextMenu($LabelChooseSecondNumber) $MenuItemSecond3 = GUICtrlCreateMenuItem("Just: 3", $LabelChooseSecondNumbercontext) $MenuItemSecondRandom = GUICtrlCreateMenuItem("Random from 1 to 100", $LabelChooseSecondNumbercontext) $MenuItemSecondSelect = GUICtrlCreateMenuItem("Select...", $LabelChooseSecondNumbercontext) ; Process choose label $LabelChooseProcess = GUICtrlCreateLabel("Choose process...", 136, 96, 148, 24) GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x0000FF) GUICtrlSetTip(-1, "Chose mathematical operation you want to be between two numbers") GUICtrlSetCursor(-1, 0) ; Menu of Process $LabelChooseProcesscontext = GUICtrlCreateContextMenu($LabelChooseProcess) $MenuItemAddition = GUICtrlCreateMenuItem("Addition (+)", $LabelChooseProcesscontext) $MenuItemDeduction = GUICtrlCreateMenuItem("Deduction (-)", $LabelChooseProcesscontext) $MenuItemMultiplication = GUICtrlCreateMenuItem("Multiplication (*)", $LabelChooseProcesscontext) $MenuItemDivision = GUICtrlCreateMenuItem("Division (/)", $LabelChooseProcesscontext) Dim $ClickOnLabel_AccelTable[1][2] = [["{F5}", $MenuItemFirstRandom]] GUISetAccelerators($ClickOnLabel_AccelTable) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### $FirstNumber = 0 $SecondNumber = 0 $ResultNumber = 0 $math = "" $Error = "" While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $LabelChooseFirstNumber ;Popup menu when left-click on First Number _ShowMenu(GUICtrlGetHandle($LabelChooseFirstNumberContext)) Case $LabelChooseSecondNumber ;Popup menu when left-click on Second Number _ShowMenu(GUICtrlGetHandle($LabelChooseSecondNumbercontext)) Case $LabelChooseProcess ; Popup menu when left-click on Calculate _ShowMenu(GUICtrlGetHandle($LabelChooseProcesscontext)) Case $MenuItemFirst3 $FirstNumber = 3 chooseFirstNumberBlue() Case $MenuItemFirstRandom $FirstNumber = Random(1, 100, 1) chooseFirstNumberBlue() Case $MenuItemFirstSelect $FirstNumber = InputBox("Give a Number", "Input a number:", "", "", 190, 130) ; Check if press Cancel button or input number not is number If @error = 1 or not StringIsDigit($FirstNumber) Then GUICtrlSetData($LabelChooseFirstNumber, "You must set a number!") GUICtrlSetFont($LabelChooseFirstNumber, 9, 800, 0, "MS Sans Serif") GUICtrlSetColor($LabelChooseFirstNumber, 0xFF0000) Else chooseFirstNumberBlue() EndIf Case $MenuItemSecond3 $SecondNumber = 3 chooseSecondNumberBlue() Case $MenuItemSecondRandom $SecondNumber = Random(1, 100, 1) chooseSecondNumberBlue() Case $MenuItemSecondSelect $SecondNumber = InputBox("Give a Number", "Input a number:", "", "", 190, 130) If @error = 1 Or Not StringIsDigit($SecondNumber) Then $LabelChooseSecondNumber = GUICtrlCreateLabel("You must set a number!", 136, 64, 145, 24) GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0xFF0000) Else chooseSecondNumberBlue() EndIf Case $MenuItemAddition $math = "Addition (+)" chooseProcessBlue() Case $MenuItemDeduction $math = "Deduction (-)" chooseProcessBlue() Case $MenuItemMultiplication $math = "Multiplication (*)" chooseProcessBlue() Case $MenuItemDivision $math = "Division (/)" chooseProcessBlue() Case $LabelCalculate If GUICtrlRead($LabelChooseFirstNumber) = "Choose number..." Or GUICtrlRead($LabelChooseFirstNumber) = "You must set a number!" Then $LabelResult = GUICtrlCreateLabel("Without numbers not be operation!", 320, 40, 110, 65) GUICtrlSetFont(-1, 11, 400, 0, "Segoe Print") GUICtrlSetColor(-1, 0xFF0000) ElseIf GUICtrlRead($LabelChooseSecondNumber) = "Choose number..." Or GUICtrlRead($LabelChooseSecondNumber) = "You must set a number!" Then $LabelResult = GUICtrlCreateLabel("Without numbers not be operation!", 320, 40, 110, 65) GUICtrlSetFont(-1, 11, 400, 0, "Segoe Print") GUICtrlSetColor(-1, 0xFF0000) Else Calculate() If @error = 1 Then $LabelResult = GUICtrlCreateLabel("Not set operator!", 320, 40, 110, 65) GUICtrlSetFont(-1, 11, 400, 0, "Segoe Print") GUICtrlSetColor(-1, 0xFF0000) ElseIf @error = 2 Then $LabelResult = GUICtrlCreateLabel("Impossible to divide by zero!", 320, 40, 110, 65) GUICtrlSetFont(-1, 11, 400, 0, "Segoe Print") GUICtrlSetColor(-1, 0xFF0000) Else $LabelResult = GUICtrlCreateLabel($ResultNumber, 320, 40, 110, 65) GUICtrlSetFont(-1, 26, 400, 0, "Segoe Print") EndIf EndIf EndSwitch WEnd Func Calculate() If $math = "" Then SetError(1) Select Case $math = "Addition (+)" $ResultNumber = $FirstNumber + $SecondNumber Case $math = "Deduction (-)" $ResultNumber = $FirstNumber - $SecondNumber Case $math = "Multiplication (*)" $ResultNumber = $FirstNumber * $SecondNumber Case $math = "Division (/)" If $SecondNumber = 0 Then SetError(2) $ResultNumber = $FirstNumber / $SecondNumber EndSelect Return $ResultNumber EndFunc ;==>Calculate Func _ShowMenu($hMenu) DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", MouseGetPos(0), "int", MouseGetPos(1), "hwnd", $ClickOnLabel, "ptr", 0) EndFunc ;==>_ShowMenu Func chooseFirstNumberBlue() ; Change Color and font to First Number label GUICtrlSetData($LabelChooseFirstNumber, $FirstNumber) GUICtrlSetFont($LabelChooseFirstNumber, 12, 800, 0, "MS Sans Serif") GUICtrlSetColor($LabelChooseFirstNumber, 0x0000FF) EndFunc ;==>chooseFirstNumberBlue Func chooseSecondNumberBlue() ; Change Color and font to Second Number label GUICtrlSetData($LabelChooseSecondNumber, $SecondNumber) GUICtrlSetFont($LabelChooseSecondNumber, 12, 800, 0, "MS Sans Serif") GUICtrlSetColor($LabelChooseSecondNumber, 0x0000FF) EndFunc ;==>chooseSecondNumberBlue Func chooseProcessBlue() GUICtrlSetData($LabelChooseProcess, $math) GUICtrlSetFont($LabelChooseProcess, 12, 800, 0, "MS Sans Serif") GUICtrlSetColor($LabelChooseProcess, 0x0000FF) EndFunc ;==>chooseProcessBlue